Get the Docker Compose templates
Use the templates from the deployment-tools repository:
Key files in that folder:
Keep .env and docker-compose.yaml in the same directory.
Also keep the postgres/arrow-up-right folder next to them. It contains the init script that creates the required databases.
Authenticate to the container registry
Use the registry host and credentials provided by Syntho to login with:
Copy docker login syntho.azurecr.io -u < USERNAM E > -p < PASSWOR D > Edit .env in the same directory as docker-compose.yaml.
Set at least:
APPLICATION_VERSION: Syntho version to deploy.
LICENSE_KEY: your Syntho license key.
SECRET_KEY: secret used by Syntho security mechanisms.
USER_EMAIL: email for the initial admin user.
USER_PASSWORD: password for the initial admin user.
DB_PASSWORD: password for the bundled PostgreSQL (required by docker-compose.yaml).
Generate a SECRET_KEY (if needed, Syntho will provide one as well):
Copy python -c " from cryptography.fernet import Fernet; print(Fernet.generate_key().decode()) " circle-exclamation
Rotate secret keys carefully.
Syntho uses secret keys for sessions and encryption.
Changing keys can break sessions.
It can also make previously stored encrypted values unreadable.
Plan key rotation:
Back up PostgreSQL metadata databases.
Stop traffic and running jobs.
Verify login and basic workflows.
If you are unsure what do do, ask Syntho Support.
chevron-right UI URL, ports, and HTTPShashtag By default UI is exposed on port 3000 and the API on 8000.
If you terminate TLS in a reverse proxy, ensure:
The UI is configured for https.
Secure cookies are enabled when using HTTPS.
Verify deployment
Check containers status with:
Open the UI:
<FRONTEND_PROTOCOL>://<FRONTEND_DOMAIN>:<FRONTEND_PORT>
Use the admin credentials you configured in .env.
If this does not work, see Troubleshooting .
Back up PostgreSQL
Back up PostgreSQL Syntho application databases before first use to validate the process.