Skip to content

Latest commit

 

History

History
48 lines (35 loc) · 1.99 KB

File metadata and controls

48 lines (35 loc) · 1.99 KB

Self-Hosting Träwelling

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.


1. Bare Metal Setup (Webserver + PHP + Database)

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).

Background processes

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 realtime and important benefit most from multiple parallel workers. Example: run several workers for realtime, and fewer (or just one) for background.

    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

2. Docker Setup

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.