Deploy TREK
Railway

Deploy TREK

A self-hosted travel/trip planner with real-time collaboration and more.

Deploy TREK

Just deployed

/mnt/trek

Deploy and Host TREK on Railway

What is TREK?

TREK is a self-hosted, real-time collaborative travel planner. Teams plan trips with drag-and-drop day plans, interactive maps, bookings, budgets, packing lists, and document attachments—with optional add-ons, OIDC single sign-on, MFA, and a progressive web app you can install on phones and desktops.

About Hosting TREK

TREK ships as a Docker image (mauriceboe/trek) and stores state on disk: a SQLite database under /app/data and user files under /app/uploads. You run the container with production environment variables (for example encryption, public URL, CORS, timezone, and optional OIDC). The app listens on HTTP (typically port 3000) and expects to sit behind HTTPS in production, with WebSocket support on /ws for live collaboration. Hosting therefore means: run the official image, attach persistent storage for data and uploads, set secrets and URL-related variables, and expose a stable HTTPS URL—then keep the image updated while preserving those volumes.

Common Use Cases

  • Private or team trip planning — shared itineraries, maps, and files without sending data to a third-party SaaS.
  • Organisation or family hub — one instance for a company, school trip, or household, with invites and roles.
  • SSO-backed deployment — connect TREK to your identity provider via OIDC for login and optional admin mapping.

Dependencies for TREK Hosting

  • Container runtime — deploy the published image mauriceboe/trek (e.g. from Docker Hub).
  • Durable disk — persistent paths for /app/data (database, logs, backups metadata) and /app/uploads (attachments and media).
  • TLS and routing — a public HTTPS URL; reverse proxy or platform that forwards WebSockets correctly.
  • Configuration — at minimum, set a strong ENCRYPTION_KEY and align APP_URL / ALLOWED_ORIGINS with your public hostname (required for OIDC and consistent links).

Deployment Dependencies

Implementation Details (optional)

Railway may expose only one volume mount per service. The upstream image expects two paths (/app/data and /app/uploads). Without changing TREK itself, use one volume mounted at a single parent path (for example /mnt/trek) and a thin wrapper image whose entrypoint creates that tree and symlinks /app/data and /app/uploads into it—then deploy that wrapper image instead of mounting over /app or the whole application directory.

Why Deploy TREK 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 TREK 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.


Template Content

More templates in this category

View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
View Template
(v1) Simple Medusa Backend
Deploy an ecommerce backend and admin using Medusa

Shahed Nasser
View Template
peppermint
Docker-compose port for peppermint.sh

HamiltonAI