Skip to content
Jetrepo
Esc
navigateopen⌘Jpreview
On this page

Architecture

See the supported services, dependencies, network paths, and persistent state.

The production Compose stack runs application roles, stateful dependencies, and two one-shot setup tasks on one bridge network.

Access

Host read access is required to inspect services, networks, and volumes.

docker compose -f docker-compose.prod.yaml ps -a

Service paths

The reverse proxy routes the five public origins to ports 3000, 3333, 4000, 8000, and 9000. Port 9001 is the optional object-storage console and should not be public by default. Postgres and Redis remain internal. Compose exposes container ports but does not publish host ports or provide TLS.

The Admin app’s Core and Delivery URLs are built into its image. Changing either URL requires an Admin rebuild, not only a restart.

Core API and Worker reach object storage through the public S3_PUBLIC_URL. Containers must therefore resolve and reach that HTTPS origin. The Image service reaches object storage on the internal network.

Persistent state

Volume State
pgdata Authoritative CMS and authentication data
minio_data Original files and generated image results
redis_data Redis AOF, including queues, delayed jobs, and delivery cache

Confirm all three named volumes exist before relying on container recreation as non-destructive. The Worker has no HTTP port or persistent volume of its own.

Postgres and object storage form the coordinated content recovery set. Redis is operational state, not only a disposable cache: omitting it from recovery can lose pending or delayed work. Pub/Sub invalidation messages are transient and are not stored in AOF. Queue replay after Redis loss has not been drilled by the project.

Was this page helpful?