
Deploy habittrove
HabitTrove is a habit tracker that rewards completed habits with coins
habittrove
Just deployed
/app/data
Deploy and Host HabitTrove on Railway
About Hosting
HabitTrove is a self-hosted, open-source, gamified habit tracking application built with Next.js. It helps users create habits, track progress, earn coins for completions, and redeem those coins against a custom wishlist of rewards.
The official Docker image stores data in local JSON files under the container filesystem (/app/data) and creates rotating backups in /app/backups. On Railway, this template deploys the upstream image directly and mounts persistent storage to /app/data, which keeps user data and application state across restarts and redeploys.
Why Deploy
- Gamified habit tracking — Turn daily habit consistency into a reward loop with coins and wishlist redemptions.
- Simple architecture — One service, one Docker image, no external database required.
- Upstream-first deployment — Uses
dohsimpson/habittrove:latestwithout unnecessary command overrides. - Persistent app state — Railway volume mount at
/app/datapreserves habits, users, and settings. - PWA-ready UI — Mobile-friendly interface with progressive web app behavior from upstream.
Common Use Cases
- Personal habit dashboard — Track routines (exercise, reading, journaling) with streaks and rewards.
- Family accountability board — Run one instance for multiple users sharing progress and goals.
- Private self-hosted alternative — Keep your habit and reward data under your own infrastructure.
- Demo-ready setup — Optionally enable demo mode behavior via
DEMOenvironment variable.
Dependencies for Deployment
Deployment Dependencies
| Dependency | Details |
|---|---|
| Docker Image | dohsimpson/habittrove:latest (official upstream image) |
| Exposed Port | 3000 |
| Persistent Volume | Required at /app/data (stores JSON data files and app state) |
PORT | Required — set to 3000 so Railway routes public traffic correctly |
AUTH_SECRET | Required — cryptographic secret used by authentication/session logic |
DEMO | Optional — enables demo-mode behavior when set to a non-empty value |
| External Database | None |
| Start Command Override | Not required (uses image default CMD ["node","server.js"]) |
Template Content
habittrove
dohsimpson/habittrove:latest