Deploy Vikunja
Open-source task and project management with teams and calendars.
MariaDB
Just deployed
/var/lib/mysql
Vikunja
Just deployed
/app/vikunja/files
Deploy and Host Vikunja on Railway
Vikunja is an open-source task and project manager for individuals and teams. It combines lists, boards, tables, calendars, and Gantt views with assignments, due dates, recurring tasks, labels, collaboration, CalDAV, and an API, while keeping application data and uploaded attachments under your control.
About Hosting Vikunja
Hosting Vikunja requires the application, a durable SQL database, persistent attachment storage, and a canonical public URL. This template runs the official Vikunja 2.4.0 image on port 3456 alongside MariaDB 10.11.8. Vikunja reaches MariaDB only through Railway's private network, while Railway terminates public HTTPS and injects the generated hostname into VIKUNJA_SERVICE_PUBLICURL. MariaDB stores its data at /var/lib/mysql, and Vikunja stores uploaded files at /app/vikunja/files. Database migrations run automatically during startup, and Railway checks the unauthenticated /health endpoint before marking Vikunja healthy.
Common Use Cases
- Managing personal tasks, recurring routines, and calendar commitments
- Coordinating team projects with assignments, boards, labels, and comments
- Replacing hosted task managers with a self-hosted API and CalDAV-compatible service
Dependencies for Vikunja Hosting
- MariaDB 10.11.8 for users, projects, tasks, settings, and application metadata
- Persistent Railway volumes for MariaDB data and Vikunja file attachments
Deployment Dependencies
- Vikunja documentation
- Vikunja configuration options
- Vikunja Docker deployment guide
- Vikunja source repository
- Umbrel Vikunja compose file
- Official
vikunja/vikunja:2.4.0image - Official
mariadb:10.11.8image
Implementation Details
- Vikunja: immutable image tag
vikunja/vikunja:2.4.0, public Railway domain on port 3456,/healthreadiness check, persistent volume at/app/vikunja/files, andON_FAILURErestart policy with ten retries. - MariaDB: immutable image tag
mariadb:10.11.8, private networking only, persistent volume at/var/lib/mysql, UTF-8 server flags from the upstream and Umbrel examples, andON_FAILURErestart policy with ten retries. - Private references: Vikunja resolves the exact
MariaDBprivate domain and references the one database password generated on that service. A separate generated Vikunja service secret keeps sessions valid across restarts. - Volume permissions: Railway mounts volumes as root, while the Vikunja image normally runs as UID 1000.
RAILWAY_RUN_UID=0applies Railway's documented compatibility setting so file uploads remain writable. - Secure first run: local authentication is enabled so the deployer can register the first account. Public teams, public link sharing, and demo mode are disabled. Immediately after creating the intended account, set
VIKUNJA_SERVICE_ENABLEREGISTRATION=falseand redeploy; the verified source deployment is already closed.
Why Deploy Vikunja on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Vikunja on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
This is a community Railway template and is not officially affiliated with the Vikunja project.
Template Content
MariaDB
mariadb:10.11.8Vikunja
vikunja/vikunja:2.4.0
