selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
Aurum logo

Self-host Aurum

Personal finance OS for cash flow, net worth, and budgets

AlphaSource AvailableOther
Updatedlast week
LanguageTypescript
Setup difficultyModerate
MobileResponsive
ThemeDark mode
Stars
260
Port
80 (Container HTTP port (nginx))
Install with Docker Compose
Aurum dashboard showing real income, spending, savings rate, spending by category, and recent transactionsNet worth timeline with full asset allocation breakdownCapital grouped by type (income/neutral/drain) and by risk levelTransactions list with filtersCash flow chart showing income vs expense by monthCategory spending report over time

What is Aurum?

Aurum is a personal finance application you run yourself via Docker Compose. It brings together bank accounts, investments, crypto holdings, real estate, and vehicles into a live net worth timeline with breakdowns by asset class, behavior type, and risk level. You can log split transactions across subcategories, import bank CSV files using built-in profiles for several banks, set monthly budgets with visual progress, track savings goals, and manage recurring bills. A rules-based advice engine highlights spending categories that are trending up, expenses without budgets, and changes in your savings rate. The crypto tab shows live prices and profit/loss from your trade history. An ROI calculator helps evaluate purchases with compound-interest projections. Proactive alerts warn about negative cash flow, declining net worth, over-budget categories, excessive risk exposure, and idle cash. The interface supports Russian and English with a theme toggle for light, dark, or system preference and works well on mobile. Access control uses optional HTTP Basic Auth — there is no built-in user system. All data stores in PostgreSQL and can be exported or imported as a single JSON file. A full REST API at /api exposes every UI action for scripting.

Should you self-host Aurum?

Aurum scores 39/100 on selfhost.directory (how scoring works) and ranks #50 of 62 in Personal Finance. It has 260 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. It is Other-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is Firefly III (82/100, 25 022 stars). It scores higher overall, so compare the two before you pick. See Aurum vs Firefly III side by side.

Features

  • Bilingual UI
  • Budgets and goals
  • Cash flow tracking
  • Crypto portfolio tracking
  • CSV Import
  • DNS Rebinding Protection
  • Full backup and restore
  • HTTP Basic Auth
  • Net worth timeline
  • Proactive alerts
  • Reports and advice engine
  • REST API
  • ROI calculator

Aurum README

How to install Aurum

Install Aurum with Docker Compose

Docker Engine and Docker Compose plugin
Environment variables
AURUM_POSTGRES_PASSWORD, AURUM_BASIC_AUTH_USER, AURUM_BASIC_AUTH_PASSWORD, AURUM_WEB_PORT, AURUM_BIND_ADDRESS, AURUM_ALLOWED_HOSTS, AURUM_DEFAULT_CURRENCY, AURUM_COINGECKO_API_KEY, AURUM_ENABLE_DOCS, AURUM_CORS_ORIGINS, AURUM_DOMAIN

git clone https://github.com/Zproger/Aurum.git cd Aurum cp .env.example .env

Edit .env with your settings

docker compose up -d --build

Requires Docker Engine and Docker Compose plugin. Default port 3000, configurable via AURUM_WEB_PORT.

How to configure Aurum

  • AURUM_ALLOWED_HOSTSlocalhost 127.0.0.1Hostnames the instance answers to (space or comma separated)

    Hostnames the instance answers to (space or comma separated)

  • AURUM_BASIC_AUTH_PASSWORDHTTP Basic Auth password (leave blank for no auth)

    HTTP Basic Auth password (leave blank for no auth)

  • AURUM_BASIC_AUTH_USERHTTP Basic Auth username (leave blank for no auth)

    HTTP Basic Auth username (leave blank for no auth)

  • AURUM_BIND_ADDRESS127.0.0.1Host interface to bind to (127.0.0.1 for localhost only, 0.0.0.0 for all interfaces)

    Host interface to bind to (127.0.0.1 for localhost only, 0.0.0.0 for all interfaces)

    values: 127.0.0.1,0.0.0.0

  • AURUM_COINGECKO_API_KEYCoinGecko API key for live crypto prices (free demo key available)

    CoinGecko API key for live crypto prices (free demo key available)

  • AURUM_CORS_ORIGINSComma-separated list of browser origins allowed to call the API

    Comma-separated list of browser origins allowed to call the API

  • AURUM_DEFAULT_CURRENCYUSDDefault currency for the application

    Default currency for the application

  • AURUM_DOMAINDomain for TLS setup with Caddy

    Domain for TLS setup with Caddy

  • AURUM_ENABLE_DOCStrueEnable Swagger UI/ReDoc at /api/docs

    Enable Swagger UI/ReDoc at /api/docs

    values: true,false

  • AURUM_POSTGRES_DBaurumPostgreSQL database name

    PostgreSQL database name

  • AURUM_POSTGRES_HOSTdbPostgreSQL host (container name)

    PostgreSQL host (container name)

  • AURUM_POSTGRES_PASSWORDchange-mePassword for Aurum's Postgres container (must be set before first run)

    Password for Aurum's Postgres container (must be set before first run)

  • AURUM_POSTGRES_PORT5432PostgreSQL port

    PostgreSQL port

  • AURUM_POSTGRES_USERaurumPostgreSQL username for Aurum's database

    PostgreSQL username for Aurum's database

  • AURUM_WEB_PORT3000Host port for the web UI

    Host port for the web UI

More in Personal Finance

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…