Skip to content

Self-hosting

Imaginook runs on a LEMP stack (nginx + PHP-FPM + PostgreSQL + Redis) and is fully self-hostable via three supported paths.

What you need

  • PostgreSQL (required) and Redis (optional — the defaults are DB-backed).
  • Long-running processes for a full instance: a php artisan queue:work worker and a per-minute php artisan schedule:run cron.
  • The two-origin serving model (load-bearing): the console (imaginook.app) runs the Laravel app via PHP-FPM; user sites (*.imaginook.com|org|me) are served as static files by nginx with no PHP — the platform's no-RCE guarantee.

1. One-line installer (Ubuntu LEMP)

An idempotent installer provisions nginx, PHP-FPM, PostgreSQL, the app, the worker, and the scheduler on a fresh Ubuntu host. See installer/.

2. Docker Compose

The docker/ stack (compose.yaml) runs the app image with role-switching (php-fpm / queue / schedule / migrate) plus an nginx sidecar and named volumes. Copy compose.env.example, fill it in, and bring the stack up.

3. All-in-one image

The docker/all-in-one/ image bundles everything — app, worker, scheduler, and embedded PostgreSQL/Redis — under s6-overlay in a single container. Good for a quick single-box instance.

Configuration & operations

AGPL-3.0 · built in the open.