Levelrail
Skip to content

Self-host Prefect with Docker ​

Python-native workflow orchestration with scheduling, retries, and a dashboard for every flow run.

This page describes the Levelrail template for Prefect (Automation). It deploys the services below as one Docker Compose app on your own server.

Project site: https://docs.prefect.io.

Recommended memory: about 1024 MiB.

Services, ports and volumes ​

ServiceImageContainer portsVolumes
dbpostgres:16-alpinenone
prefect_db_data -> /var/lib/postgresql/data
prefectprefecthq/prefect:3-latest4200
prefect_data -> /data

Environment variables ​

ServiceVariableValue
dbPOSTGRES_DBPreset in the template
dbPOSTGRES_PASSWORDGenerated at deploy
dbPOSTGRES_USERPreset in the template
prefectPREFECT_API_DATABASE_CONNECTION_URLGenerated at deploy
prefectPREFECT_HOMEPreset in the template

Passwords and keys marked as generated are created for you when the app is deployed and stored as secrets. Values are not shown here.

Deploy Prefect with Levelrail ​

In the dashboard, open Apps, choose New app, then Browse templates, and select Prefect. Review the Compose body and deploy.

With the CLI:

levelrail-cli templates deploy prefect --name my-prefect

See Service template catalog for how templates work, and Getting started if you have not installed Levelrail yet.

More Automation templates ​

All templates are listed in the self-host gallery.

Released under the Apache 2.0 License.