Application and workers
The web application serves the editor, marketing pages, API, and published sites. Background workers handle asynchronous jobs.
The AGPL-3.0 source repository and pinned GHCR release are publicly accessible. The guided installer is fetched from a versioned release, verified before execution, then verifies the production Compose file before it writes configuration or starts any service.
The Compose design runs several cooperating services. Understanding those boundaries matters before choosing a host, estimating memory, or writing a recovery plan.
The web application serves the editor, marketing pages, API, and published sites. Background workers handle asynchronous jobs.
PostgreSQL stores application data. Redis supports queues and coordination. Both need durable storage and an explicit recovery procedure.
An S3-compatible service stores uploaded assets. Backups must cover the database and object storage from the same recovery point.
TLS, the main application hostname, project subdomains, and custom domains depend on correctly configured ingress and DNS records.
A successful container start is only the first check. Publish a disposable test project, confirm its canonical URL and sitemap, upload and retrieve an asset, exercise a background job, and restore both data stores into a clean environment. Test a missing page too: it must return an actual HTTP 404 rather than a 200 response with a not-found message.
Keep the application image pinned to a release or digest, record every required environment variable, and monitor the health endpoint during upgrades. A successful installer run does not replace operational work: configure TLS, schedule database and object-storage backups, test restoration in an isolated environment, and document rollback before moving production content.