Railway

Deploy Finance Tracker

Private multi-user household finance ledger with budgets and CSV import.

Deploy Finance Tracker

/var/lib/postgresql/data

Just deployed

Deploy and Host Finance Tracker with Railway

Finance Tracker is private, multi-user household finance software. It replaces browser-only totals with an authenticated PostgreSQL ledger: accounts, cash flow, budgets, recurring bills, reversible transfers, and CSV import validation live together. Monetary values are stored as integer minor units, preventing floating-point drift.

About Hosting Finance Tracker

Hosting Finance Tracker deploys the Node application and a managed PostgreSQL database together. Household members create accounts and record balanced postings rather than editing balances directly; the dashboard derives net worth and cash flow from posted ledger data. Secure signed sessions isolate households. Template supports EUR, USD, and COP; COP uses zero fractional digits. Version 0.1 includes manual account and transfer workflows, reverse-not-delete ledger safety, dashboard, onboarding, CSV preview/deduplication foundation, budget schema, and recurring transaction timeline model. It intentionally excludes bank synchronization and investment pricing.

Common Use Cases

  • Shared household cash, card, loan, and savings tracking
  • Budget envelopes and monthly spending reviews
  • Upcoming recurring bills and income planning
  • Safe migration from spreadsheet or CSV transactions

Dependencies for Finance Tracker Hosting

  • Node.js 22 application runtime
  • Railway PostgreSQL for users, sessions, household records, and immutable ledger postings

Deployment Dependencies

Why Deploy Finance Tracker on Railway?

Railway hosts application servers and PostgreSQL on one platform with minimal configuration. Private service networking supplies database connection reference automatically. Scale vertically for larger ledgers or horizontally for web traffic while retaining managed deployment, logs, domains, and environment isolation.

Environment variables

NameRequiredDefaultDescription
DATABASE_URLYes${{Postgres.DATABASE_URL}}Railway private PostgreSQL connection reference.
SESSION_SECRETNoauto-generated at startupCookie-signing secret. If unset, the app generates an ephemeral secret and sessions reset on each redeploy; set a stable random value (e.g. openssl rand -hex 32) for persistent logins.
PORTYes3000Internal Railway HTTP listener port.
NODE_ENVYesproductionEnables production cookie settings and SSL-aware database connections.

Notes:

  • The template ships the wotonews/finance-tracker Docker image (built from the private source repo) plus a managed single-node Railway PostgreSQL service. Private networking supplies DATABASE_URL automatically.
  • v0.1 targets a single app instance; horizontal scaling requires a stable SESSION_SECRET shared across replicas.

Local setup

  1. Start PostgreSQL locally and copy .env.example to uncommitted .env.
  2. Run npm ci, then npm run migrate.
  3. Run npm run dev; open Vite local URL.

Deploy with Railway

  1. Push this isolated repository to contourkde/finance-tracker using /push-github.
  2. Build and push the image: ./scripts/push-to-dockerhub.sh finance-tracker --tag v0.1.0 (bump the tag in railway.json on every image change).
  3. Verify with a real deploy: ./scripts/railway-e2e-deploy.sh finance-tracker — provisions managed Postgres first, then the app, and checks /healthz.
  4. Publish via ./scripts/publish-template.sh finance-tracker.

Deploy on Railway


Template Content

More templates in this category

View Template
NEW
Betterlytics
Betterlytics is a cookieless analytics platform GDPR-compliant.

Anarchist Manifesto
27
View Template
Matomo Analytics + MariaDB
Privacy-friendly analytics with MariaDB and persistent volumes.

leodev
1
View Template
Bugsink
Self-hosted Error Tracking. Sentry-SDK compatible

nonzerosum
19