Deploying EscapeCloud Platform via docker compose is intended to be simple. This folder contains a single Compose template, an environment template, and this README.
Project structure:
.
├── docker-compose.yml
├── env.template
└── README.md
The Compose template runs the main Escape components:
escape_webappescape_schedulerescape_apiescape_engine_stage1toescape_engine_stage9escape_db_initescape_engine_db
The template also contains optional containerized services for:
escape_web_dbrabbitmq
If you are using managed infrastructure for PostgreSQL or RabbitMQ, keep using your external services and set the connection details in .env.
Before deployment, make sure you have:
- Docker Engine installed
- Docker Compose plugin installed
- Access to
registry.onstackit.cloud - A VM or host with ports
80and443reachable - DNS pointing your hostname to the server
For HTTPS mode you also need:
- a
.pfxcertificate file - the PFX password
Copy env.template to .env:
cp env.template .envThen fill in the required values.
Important variables:
HOST_NAMEPublic hostname, for exampledomain.tldWEB_ENVExample:prodWEB_IMAGE_TAGWeb image tag to deployENGINE_IMAGE_TAGEngine image tag to deployWEB_DB_*Web database connection settingsENGINE_DB_*Engine database connection settingsRABBITMQ_*RabbitMQ connection settingsWEB_PFX_FILEContainer path to the mounted PFX, for example/run/certs/domain_tld.pfxWEB_PFX_PASSWORDPassword for the PFX file
The webapp supports two modes.
Leave these values empty:
WEB_PFX_FILE=
WEB_PFX_PASSWORD=In this mode, the webapp serves HTTP on port 80.
Set both values:
WEB_PFX_FILE=/run/certs/your-certificate.pfx
WEB_PFX_PASSWORD=your-passwordThe Compose file mounts:
./certs:/run/certs:roSo place the certificate file in a local certs/ folder next to docker-compose.yml.
In this mode:
- HTTP on port
80redirects to HTTPS - HTTPS is served on port
443
Run the stack from this directory:
docker compose up -dIf you want to pull the latest tagged images first:
docker compose pull
docker compose up -d