Skip to content

Self-hosting

From Caelestis

Run your own Caelestis server to share templates and progress with a group. The backend stores the data; the frontend serves the dashboard and forwards userscript requests.

Choose a deployment

SetupDatabase and artwork storageGuide
Docker, defaultSQLite and files in Docker volumesRun with Docker
Docker with PostgreSQLPostgreSQL container and filesystem objectsPostgreSQL
Docker with MariaDBMariaDB 11.8 container and filesystem objectsMariaDB
Docker with an existing CNPG databaseExternal PostgreSQL primary and filesystem or S3 objectsCNPG
Docker with S3Any supported database, with MinIO or an external bucketS3 storage
KubernetesHelm chart with your database and storageKubernetes with Helm
CloudflareWorkers, D1, R2, and Durable ObjectsDeploy on Cloudflare

For a first local installation, start with Docker's default stack. You can choose another database or object store before creating data.

Changing a storage setting does not move existing data to the new provider.

What you need

For Docker, you need Docker Compose and disk space for the database, template images, and retained tile history. The supplied stack builds the backend and frontend from the checkout.

For remote access, you also need an HTTPS address. Put a reverse proxy in front of the frontend, enable WebSocket forwarding, and set ORIGIN to its public URL.

The frontend is available to anyone who can reach its URL. Its backend read token is a server credential, not a visitor login. Restrict access at your proxy if the dashboard should be private.

Backend replicas

Run one active backend per database. The backend holds an ownership lock and stops if it loses the database connection.

PostgreSQL can have replicas and failover, including through CNPG. Caelestis connects to the writable primary. Use a direct connection or session pooling, not transaction pooling.

SQLite needs local or block-backed storage with working POSIX locks. Do not put its database on a network filesystem.

After installation

Connect the userscript, add artwork, and create report tokens for painters. Keep the bootstrap administrator token private.

Before upgrading, read Storage and backups and Deployment and upgrades.

The source configuration reference lists all runtime variables.

Caelestis ยท Published with Svartz