Deploy TREK Travel Planner

Self-hosted collaborative travel planner: trips, maps, budgets

Deploy TREK Travel Planner

Just deployed

/app/storage

Deploy and Host self hosted TREK (Travel Planner) on Railway

This template deploys one TREK service running the unmodified upstream mauriceboe/trek 5.1.0 image with a single volume for data and uploads.

About Hosting TREK open-source software on Railway (self hosted TREK template)

This template runs a TREK instance on Railway using the unmodified upstream mauriceboe/trek 5.1.0 image, with one service and one volume mounted at /app/storage.

Railway handles the container build, the public HTTPS domain, restarts on failed health checks, and the volume itself.

Why Deploy TREK, the open-source travel planner on Railway (Railway Free Trial)

If you want a hosted trip app, Wanderlog is a fine choice, but you rent your plans from someone else's servers.

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.

Railway vs Other Hosting Providers and VPS for TREK self hosting

TREK is a Node app shipped as the unmodified upstream image, so the choice is how much infrastructure you want to run yourself.

ProviderWhat You Get with RailwayWhat You Get with the Other Provider
DigitalOceanA TREK service from the template with a public domain and one volume, and no server to patch.A Droplet you secure and update yourself, then Docker and the TREK container installed by hand.
AWSThe same service and volume with template variables pre-filled and no VPC to configure.Broad control over networking and storage, but you assemble the instance and backups yourself.
HetznerManaged deployment with the admin password and encryption key generated on first boot.Low-cost servers with full root access, where you handle the OS, Docker and reverse proxy.

Common Use Cases for hosted TREK

  • Planning a group trip together on a live map: Everyone in the friend group gets an account on the same instance, so you can drop places onto a shared map and see each other's changes as they happen, without passing a spreadsheet around.
  • Day plans with routes and weather: Drag places, notes and bookings between days, let TREK sort a day's stops by nearest neighbour, and check the 16-day forecast for each stop before you commit to an outdoor afternoon.
  • Shared costs and budgets: Log expenses with equal or custom splits, record who paid, and use the settle-up suggestions so nobody has to chase a friend for pizza money at the end of the trip.
  • Hikes and tours with elevation profiles: Route a multi-day trek, check ascent, descent and the elevation profile per stage, and link your recorded GPX afterwards to compare the plan against what you actually walked.
  • Packing lists and documents in one place: Keep categorised packing lists, to-dos, booking confirmations and attached files in the same trip, so the passports and tickets are always one tap away from the itinerary.

Dependencies for TREK Docker hosted on Railway

This template runs TREK as one Railway service built from the unmodified upstream image, mauriceboe/trek at tag 5.1.0.

Deployment Dependencies for Managed TREK Service (a single TREK service running the unmodified upstream image with one volume)

The service listens on Railway's PORT, which defaults to 8080, and gets a public domain.

Implementation Details for TREK (Using the unmodified mauriceboe/trek 5.1.0 image with a custom start command)

A custom start command copies the image's skeleton directories into the volume on first boot, symlinks /app/data and /app/uploads to them, then hands off to the image's own entrypoint.

VariablePurpose
ADMIN_PASSWORDGenerated 24-character secret for the first admin login
ENCRYPTION_KEYGenerated 64-character hex secret that protects stored keys
APP_URLSet to https://${{RAILWAY_PUBLIC_DOMAIN}}
ALLOWED_ORIGINSSet to https://${{RAILWAY_PUBLIC_DOMAIN}}

Optional variables include OIDC for single sign-on, SMTP for mail, PLACES_API_KEY for Google Places, and UNSPLASH_ACCESS_KEY for cover images.

How does TREK compare against other tools

TREK vs Wanderlog (Wanderlog Alternative)

  • Hosting and data: Wanderlog is a hosted trip app, so your itineraries live on its servers. TREK runs on your own Railway service and keeps the database, uploads and keys on one volume you control.
  • Collaboration: Both let a group plan together on a shared map. TREK adds shared costs with equal or custom splits, settle-up suggestions and a settlement log in the same trip.
  • Where Wanderlog wins: It is polished, mobile-first and needs no setup at all. If you just want to start planning in five minutes, a hosted app is the faster path.

TREK vs TripIt (TripIt Alternative)

  • Scope: TripIt is strong at turning confirmation emails into a travel itinerary. TREK covers planning as well, with day plans, routes, weather, tours and packing lists next to the bookings.
  • Booking import: TREK can read EML, PDF, PKPass, HTML, TXT and photos of confirmations, with a review step before anything is saved.
  • Where TripIt wins: It is mature and widely used for keeping flights and hotels in one place. If that is all you need, its simplicity is hard to beat.

TREK vs AdventureLog (AdventureLog Alternative)

  • Focus: AdventureLog is a self-hosted travel log for recording places you have been. TREK is aimed at planning trips before you go, with live maps, budgets and day-by-day routes.
  • Route tools: TREK adds routing modes, public transport itineraries and a tours module with elevation profiles for hikes and rides.
  • Where AdventureLog wins: If your main goal is a personal log of past journeys, it is the more focused tool.

TREK with Docker on a VPS vs TREK on Railway (TREK self hosting comparison)

  • Setup effort: Running TREK with Docker on a VPS means you manage the host, the reverse proxy, TLS and updates yourself. On Railway the service, domain and volume are created for you.
  • Control: A VPS gives you full access to the machine and its networking. Railway trades some of that control for a simpler deployment.
  • Persistence: On Railway, the single volume holds the database, uploads and keys, so you back up one place. On a VPS you choose your own storage layout.

How to use TREK on Railway?

  1. Wait for the TREK service to turn green in the Railway dashboard. The first boot is noisy, so give it a few minutes before you judge it.
  2. Open the public domain Railway generated for the service. You should land on the TREK login page.
  3. Log in as admin@trek.local. The password is the value of ADMIN_PASSWORD, which you can copy from the Variables tab.
  4. Change the admin password when TREK prompts you. Do this before you invite anyone else.
  5. Create your first trip, then invite the people you are travelling with so everyone can edit the same map, days and budget.

Check that the instance is healthy with this request, replacing your-domain with your real Railway domain:

curl https://your-domain/api/health

A healthy instance answers with a status of ok.

How to self host TREK on other VPS Services (TREK self hosting guide)

Clone the Repository

Clone the upstream project so you have its files and docs close at hand.

git clone https://github.com/liketrek/TREK.git
cd TREK

Install Dependencies

You only need Docker on the host.

docker --version

Configure Environment Variables

Generate an encryption key and keep it safe, because TREK uses it to protect stored secrets.

openssl rand -hex 32

Set ENCRYPTION_KEY to that value, and set APP_URL to the address you will reach, such as https://your-domain.

Start the TREK Application

Run the unmodified image with your key, two volumes for data and uploads, and port 3000 published.

docker run -d --name trek -p 3000:3000 \
  -e ENCRYPTION_KEY=your-key-here \
  -e APP_URL=https://your-domain \
  -v trek-data:/app/data \
  -v trek-uploads:/app/uploads \
  mauriceboe/trek:5.1.0

On first boot TREK seeds an admin account, so sign in and change that password straight away.

Pricing of TREK (self hosted TREK pricing)

TREK is open-source software released under the AGPL-3.0 license, and it is free to self-host.

TREK hosted vs self hosted comparison (Pricing, features, costs, and more)

TREK is self-hosted AGPL-3.0 software, so there is no hosted plan to compare against.

Monthly cost of self hosting TREK on Railway

Railway bills by usage, so the monthly cost depends on the RAM and CPU the TREK service uses, how large your volume grows, and how many other services share the project.

System Requirements for Hosting TREK on a VPS

A VPS running Docker is enough for TREK.

Frequently Asked Questions (FAQs)

Where do I log in as admin?

Sign in at your public Railway domain as admin@trek.local with the ADMIN_PASSWORD value from the service's Variables tab.

Is this template affiliated with the TREK project?

No. It is a community template that runs the unmodified upstream TREK image; it is not endorsed by the TREK project.

Where are my uploads stored?

All data lives on the single volume mounted at /app/storage, including the database, keys, backups and every uploaded file.

Why are the startup logs so long?

The NestJS route map is printed once at boot, which produces a burst of lines that can hit Railway's log rate cap briefly.

Can I add Google Places?

Yes.

What does ENCRYPTION_KEY protect?

ENCRYPTION_KEY is the secret TREK uses to encrypt sensitive stored values in its database.


Template Content

More templates in this category

View Template
Rocky Linux
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

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

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
51