---
title: "Deploy picsou-finance"
description: "Personal finance dashboard Track bank accounts, brokerage, crypto"
category: "Analytics"
url: https://railway.com/deploy/picsou-finance
---

# Deploy picsou-finance

Personal finance dashboard Track bank accounts, brokerage, crypto

**[Deploy picsou-finance on Railway](https://railway.com/template/picsou-finance)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/picsou-finance/manifest.json

- **Creator:** kmaki's Projects
- **Category:** Analytics

## Template content

### picsou-app

- **Image:** ghcr.io/zoeille/picsou-finance:1.0.17
- **Public domain:** Yes

### Postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:18

## Documentation

# Deploy and Host Picsou on Railway

Picsou is a self-hosted personal-finance dashboard for individuals and families. It aggregates bank, brokerage, crypto, property, debt, and net-worth data in one private interface, with goals, sharing, imports, live prices, optional bank synchronization, and two-factor authentication. A guided setup wizard creates the first administrator and configures security.

## About Hosting Picsou on Railway

Railway runs the published Picsou container image alongside managed PostgreSQL. The all-in-one image serves the React interface through Nginx and proxies API requests to Spring Boot, while Railway provides HTTPS, deployment automation, and persistent database storage.

## Tech Stack

- React 19, TypeScript, Vite, Tailwind
- Java 21, Spring Boot 3.4, Hibernate, Flyway
- Nginx and Supervisor in the application image
- PostgreSQL 16-compatible Railway database
- GHCR container image

## Why Deploy Picsou on Railway

Railway provides a one-click container deployment, managed PostgreSQL, automatic TLS, private service networking, and straightforward environment-variable management. This keeps the finance dashboard accessible without maintaining a host while preserving the application’s standard Docker runtime.

## Common Use Cases

- Family account and net-worth tracking
- Brokerage, crypto, property, and loan monitoring
- Savings-goal progress and historical snapshots
- CSV/Finary imports and optional bank synchronization
- Private dashboards with optional TOTP and member sharing

## Deployment Notes

The app listens on container port 8080 and requires the `PORT` variable set to `8080` for Railway routing. PostgreSQL variables are wired through Railway references. `JWT_SECRET` and `CRYPTO_ENCRYPTION_KEY` are generated secrets. Complete the first-launch setup wizard at `/setup` to create administrator credentials. The app data volume is not attached in this deployment because the Railway CLI volume command failed; PostgreSQL remains persistent, while `/data` secrets are ephemeral across app replacement.

## Dependencies for Picsou on Railway

Picsou requires PostgreSQL for Flyway migrations and application data. Optional bank-auth sidecars are not deployed; related URLs default to loopback and can be replaced if sidecars are added later.

### Deployment Dependencies

| Service | Image | Port | Volume |
|---------|-------|------|--------|
| picsou-app | ghcr.io/zoeille/picsou-finance:1.0.17 | 8080 | - |
| Postgres | ghcr.io/railwayapp-templates/postgres-ssl:18 | 5432 | /var/lib/postgresql/data |

## Similar templates

- [Typesense vs Meilisearch](https://railway.com/deploy/typesense-vs-meilisearch) — self-hosted Typesense vs Meilisearch
- [Betterlytics](https://railway.com/deploy/betterlytics) — Betterlytics is a cookieless analytics platform GDPR-compliant.
- [Finance Tracker](https://railway.com/deploy/finance-tracker-1) — Private multi-user household finance ledger with budgets and CSV import.

Open this page in a browser: https://railway.com/deploy/picsou-finance
