Skip to main content
There are two supported ways to run the LaraOwl server. Choose the one that fits your infrastructure.

Docker

The fastest path to production. Ships PHP, PostgreSQL, Redis, Reverb, and automatic SSL.

Composer

Full control on your own PHP/database stack. You manage the supporting services.
Before you begin, confirm your environment meets the server requirements.

Docker

The repository includes a production-ready docker/Dockerfile and docker-compose.yaml. The Compose stack runs every service LaraOwl needs: the web app, a Horizon queue worker, a schedule worker, the Reverb WebSocket server, PostgreSQL, Redis, and a Caddy reverse proxy that provisions and renews SSL certificates automatically.
1

Clone the repository

2

Create the environment file

Copy the production template and edit it:
Update at least the following values in .env:
The Compose file already wires the internal service hostnames (db, redis, reverb). You only need to change these if you customize the stack.
3

Point your DNS

LaraOwl serves the dashboard and the WebSocket endpoint on separate hostnames. Create DNS A records for both:
  • your-production-domain.com — the dashboard
  • ws.your-production-domain.com — the Reverb WebSocket server
Caddy fetches and renews SSL certificates for both automatically.
4

Build and start the stack

The application key is generated and migrations run on first boot. Your server will be available at https://your-production-domain.com.
5

Create the first admin user

Registration is disabled by default. Open a shell in the app container and create an admin account via Tinker:
Change the password immediately after your first login.

Composer

Install LaraOwl directly onto your own PHP and database stack. With this method you are responsible for running the queue worker, Reverb, and the scheduler yourself.
1

Create the project

2

Install frontend dependencies

3

Set up the environment

Configure your database connection in .env. See Configuration for the full list of variables.
4

Run migrations

5

Build frontend assets

6

Serve the application

Required background processes

LaraOwl needs these processes running alongside the web server. In production, manage them with a supervisor such as Supervisor rather than running them manually.
LaraOwl ships with Laravel Horizon. If you use Redis for your queue, run php artisan horizon instead of queue:work to get a managed worker pool and the Horizon dashboard.

Scheduler cron entry

For production, register Laravel’s scheduler with cron instead of running schedule:work:
This drives uptime checks (every 30 seconds) and the daily data-pruning job.

Supervisor example

An example Supervisor configuration for the queue worker and Reverb:

Next steps

Configuration

Fine-tune your environment variables and services.

Getting started

Create your first project and connect an application.