Träwelling is a Laravel-based web application and can be deployed either directly on a server (“bare metal”) or through containerized setups such as Docker.
Träwelling is a standard Laravel application, so it can be installed on any server that supports PHP and a relational database (MariaDB, MySQL, or SQLite).
To ensure background jobs and scheduled tasks run correctly, you need to set up the following:
-
Queue worker: Laravel’s queue handles background processing such as sending emails, processing exports, and webhooks. Make sure a process is continuously running:
php artisan queue:work --queue=realtime,important,normal,low,background
[!NOTE] Running all queues in a single worker is only suitable for small or development setups. For production or larger installations, each queue should be run as a separate worker process with an appropriate number of workers. Time-critical queues like
realtimeandimportantbenefit most from multiple parallel workers. Example: run several workers forrealtime, and fewer (or just one) forbackground.For production use with Supervisor, an example configuration is available at
docs/hosting/supervisor/trwl-workers.conf. -
Scheduler: Laravel’s task scheduler should run every minute (e.g., via cron or systemd timer):
* * * * * php artisan schedule:run
A few Docker-related files are available under docs/hosting/docker/.
They can be used to spin up a containerized instance of Träwelling.
Important
The Docker setup is not actively maintained. It may require adjustments to work correctly.
Feel free to use it at your own risk or help us maintain it!
If you’d like to help keep the Docker configuration up to date, contributions are very welcome.