
Deploy taskview
Self-hosted task management with Kanban, analytics, and integrations
Just deployed
/var/lib/postgresql/data
Just deployed
Just deployed
Just deployed
Deploy and Host TaskView on Railway
TaskView is a self-hosted project and task management platform for teams that need clear ownership and flexible workflows. It combines projects, tasks, Kanban boards, dependency graphs, analytics, role-based collaboration, developer integrations, webhooks, and AI/MCP connectivity while keeping application data in a PostgreSQL database you control.
About Hosting TaskView on Railway
Railway runs TaskView as Docker image services for the web UI, API, database migration, and PostgreSQL. The web and API services use Railway domains, while API and migration services connect to PostgreSQL over Railway private networking.
Tech Stack
- Vue web application served by Nginx
- Node.js, Express, TypeScript, and PM2 API server
- PostgreSQL with Drizzle ORM and pg-boss
- Docker images from Docker Hub and GitHub Container Registry
- Railway private networking and persistent volumes
Why Deploy TaskView on Railway
Railway provides one-click provisioning, managed service networking, HTTPS domains, persistent PostgreSQL storage, environment variable management, and straightforward logs and redeploys. This keeps the full TaskView stack deployable without a source build while preserving the upstream container startup behavior.
Common Use Cases
- Team project and task management
- Kanban workflows and dependency planning
- Sprint planning, time tracking, and analytics
- Self-hosted GitHub, GitLab, and Gitea integrations
- Webhook and API automation
- AI-assisted workflows through the TaskView MCP integration
Deployment Notes
- The web service listens on port 80 and is the primary browser entry point.
- The API listens on port 1401 and is exposed through its own Railway domain for browser API calls and integrations.
- PostgreSQL listens privately on port 5432 and persists data at
/var/lib/postgresql/data. - The migration service runs once and exits successfully after applying database migrations; this is expected.
- JWT signing and encryption keys are generated with Railway secret functions.
- Public registration is disabled by default and password login is enabled.
- The upstream migration seeds the initial account with username
userand passworduser1!#Q. Change these credentials immediately after the first login. DEFAULT_USERNAMEandDEFAULT_PASSWORDare included as visible onboarding variables for the seeded account.- The web service receives
TASKVIEW_API_URL, while the API receivesAPP_URL,API_PUBLIC_URL, andCORS_ALLOWED_ORIGINSthrough Railway service references.
Dependencies for TaskView on Railway
TaskView requires the web UI, API, one-time migration runner, and PostgreSQL database. The API and migration services use private references to the PostgreSQL service, and the web UI uses the public API domain.
Deployment Dependencies
| Service | Image | Port | Volume |
|---|---|---|---|
| web | gimanhead/taskview-ce-webapp:1.55.0 | 80 | - |
| api | gimanhead/taskview-ce-api-server:1.55.0 | 1401 | - |
| migration | gimanhead/taskview-ce-db-migration:1.55.0 | - | - |
| Postgres | ghcr.io/railwayapp-templates/postgres-ssl:18 | 5432 | /var/lib/postgresql/data |
Template Content