Railway
Deploy
- Select New Project > Empty project.
- Select Add a Service > Docker Image.
- Enter
ghcr.io/dagucloud/dagu:latest. - Add a Volume mounted at
/var/lib/dagu. - Add these variables:
dotenv
DAGU_AUTH_MODE=builtin
DAGU_AUTH_BUILTIN_INITIAL_ADMIN_USERNAME=admin
DAGU_AUTH_BUILTIN_INITIAL_ADMIN_PASSWORD=<strong-password>
PUID=0
PGID=0
RAILWAY_RUN_UID=0- Keep Serverless disabled and replicas at
1. - Under Networking, generate a public domain for port
8080. - Add
DAGU_PUBLIC_URL=https://$and deploy the staged changes.
Open the generated HTTPS URL and sign in as admin. Remove the two DAGU_AUTH_BUILTIN_INITIAL_ADMIN_* variables, then deploy the staged change.
Railway mounts Volumes as root, so this direct-image setup runs Dagu and its workflows as root. A non-root setup needs a custom startup init that changes /var/lib/dagu ownership before Dagu drops to UID 1000.
A service can have one Volume and cannot use replicas while it is attached. Deployments can have brief downtime. Configure Volume backups. Use a versioned Dagu image for production.
See Railway's quick start, Volume, and public networking documentation.

