---
title: "Deploy TREK"
description: "A self-hosted travel/trip planner with real-time collaboration and more."
category: "Other"
url: https://railway.com/deploy/trek-1
---

# Deploy TREK

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

**[Deploy TREK on Railway](https://railway.com/template/trek-1)**

- **Creator:** 61 Oaks Group
- **Category:** Other
- **Total deploys:** 8

## Template content

### Trek https://raw.githubusercontent.com/mauriceboe/TREK/refs/heads/main/server/public/icons/icon-512x512.png

- **Image:** mauriceboe/trek:latest
- **Public domain:** Yes

## Documentation

# 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

- [TREK on GitHub](https://github.com/mauriceboe/TREK) — source, README, and environment variable reference.
- [TREK on Docker Hub](https://hub.docker.com/r/mauriceboe/trek) — `mauriceboe/trek` image tags and updates.

### 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.

## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — [Jul'26] Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/trek-1
