Multi-user trip planning web app in a single Docker container. Mullvad-style token accounts, trip sharing via join codes, day-by-day calendar with typed entries (activity, hotel, travel, flight, rental car, immigration, note), multi-leg flight segments with bundled IATA airport dataset, Leaflet/OSM map with per-leg great-circle km (air vs ground), rough km-driven vs rental included-km comparison, cost splitting with settle-up suggestions, flip-clock departure countdown. Node 20 + Express + SQLite (WAL, additive migrations), vanilla JS SPA, 44 API tests.
14 lines
386 B
YAML
14 lines
386 B
YAML
services:
|
|
tripplan:
|
|
build: .
|
|
ports:
|
|
- "3000:3000"
|
|
volumes:
|
|
# SQLite database persists on the host across container rebuilds.
|
|
- ./data:/app/data
|
|
environment:
|
|
# CHANGE THIS: set a long random string before exposing the app.
|
|
# e.g. `openssl rand -hex 32`
|
|
SESSION_SECRET: "change-me-to-a-long-random-secret"
|
|
restart: unless-stopped
|