Deploy it
Security and requirements
Level: Standard. The template has no privileged-container finding. What this template needs:- Publishes ports directly on the host (
langflow): 7860:7860. - Passwords and keys are generated at deploy time (
db,langflow): LANGFLOW_DATABASE_URL, LANGFLOW_SUPERUSER_PASSWORD, POSTGRES_PASSWORD. - Stores data in named volumes (
db,langflow): langflow_db_data, langflow_data.
LANGFLOW_AUTO_LOGIN to false, so the editor asks for the superuser login. The superuser password is generated, so you need to read it from the app’s secrets before your first sign-in.
What Levelrail adds
- HTTPS and an ingress filter in front of any domain you attach. See domains and ingress and the firewall.
- Secrets stored encrypted and masked in logs and the UI, including the generated database URL. See environment variables and secrets.
- Volume backups for
langflow_db_dataandlangflow_data. See backups and storage. - Health-gated deploys. The
langflowservice has a health check, and a release takes traffic only after it passes. See deploy safety. - Rollback to the previous image. See deploying apps.
What a raw docker compose misses
- The
$SERVICE_PASSWORD_*placeholders in the template are resolved by Levelrail at deploy time and stored as secrets. A plaindocker compose upcannot resolve them, so you would write the passwords yourself. 7860:7860is published on the host. The Langflow editor is reachable from the internet unless you filter it.- Compose does not back up either volume, so the flows and the Postgres data sit on one disk.
- Compose has no rollback to an earlier revision.
Next steps
- Backups and storage for both volumes, then prove your backups work.
- Connecting apps to databases if other apps need the same Postgres.
- Template reference for Langflow for the full service table.
- All guides.