Skip to content

Self-host Ghostfolio

updated Sep 2026prices checked · Jul 2026Install verified on Ubuntu 26.04 · Sep 2026 · how we test
We earn commissions when you shop through the links below. Full disclosure →

Open-source wealth management for investors — track stocks, ETFs and cryptocurrencies across brokers and exchanges in one private dashboard, with portfolio performance, allocations, benchmarks and a FIRE calculator. A mobile-first web app you can install to your home screen.

Key facts

CategoryPersonal finance
LicenseAGPL-3.0
StackTypeScript, NestJS, Angular, PostgreSQL, Redis
Min RAM1024 MB
Official imageyes
Measured idle RAM465 MB
Difficulty
Our recommendation

Pick Ghostfolio when the money you want to watch is invested: it tracks stocks, ETFs and cryptocurrencies across the brokers and exchanges you use, and reports performance from today to all-time, allocations, benchmarks, a FIRE calculator and a static analysis of portfolio risks. It is AGPL-3.0, and the free self-hosted plan includes the summary, allocation, benchmark and FIRE views that the hosted cloud reserves for Premium. It is not a budgeting app — pair it with Firefly III or Actual Budget for spending.

Follow the Ghostfolio deploy guide →

What you need

  • Any VPS with at least 1024 MB of RAM
  • A domain you control — most self-hosted setups need HTTPS in front of them
  • Under an hour if you've used Docker before
Where to host itaffiliate disclosure
Hetzner Cloudrun it on
From $23.59/mo · 2 vCPU / 4 GB / 80 GB · EU + US
Get Hetzner Cloud (opens in new tab)
Kamaterafree trial
From $4/mo · 1 vCPU / 1 GB / 20 GB · US + EU + Asia
Start free on Kamatera → (opens in new tab)
DigitalOceanalso works on
From $6/mo · 1 vCPU / 1 GB / 25 GB · US + EU + Asia
Deploy on DigitalOcean → (opens in new tab)

Paid link — we earn a commission if you shop through it.

Install

Run these commands on your server:

# Ghostfolio + PostgreSQL + Redis — upstream's docker/docker-compose.yml
git clone https://github.com/ghostfolio/ghostfolio.git && cd ghostfolio
cp .env.example .env  # set REDIS_PASSWORD, POSTGRES_PASSWORD, ACCESS_TOKEN_SALT, JWT_SECRET_KEY
docker compose -f docker/docker-compose.yml up -d
# →  http://SERVER_IP:3333 — the first account created via Get Started becomes ADMIN

What you take on

Ghostfolio's README and self-hosting FAQ cover the points that matter before you rely on it:

non-negotiablePrices come from outside. Yahoo, CoinGecko and manual data are the officially supported sources for self-hosters, so the server makes requests to those providers; the professional GHOSTFOLIO data provider is "available with Ghostfolio Premium" through a subscription API key. For an asset no provider covers, create a custom asset with the MANUAL source, optionally with a scraper configuration to fetch its price from a website.
non-negotiableUpstream's FAQ is explicit that "you are responsible for providing the relevant historical exchange rates". If you see "No exchange rate has been found" errors, gather historical market data for the currency pair in the admin panel's Market Data section.
non-negotiableThe compose file reads .env from the repository root and refuses to start Redis without REDIS_PASSWORD; ACCESS_TOKEN_SALT and JWT_SECRET_KEY are required random strings. The first account created via Get Started becomes ADMIN, so create it before port 3333 is reachable by anyone else (our advice). Behind a reverse proxy, set ROOT_URL and TRUST_PROXY (e.g. 1 for a single proxy).
non-negotiableUpgrades are manual — the pricing page labels the self-hosted plan "Self-hosted, update manually" — and the container applies database migrations itself at startup. Backups are on you: the FAQ suggests "regularly back up your data by utilizing full database dumps" of the PostgreSQL volume.
non-negotiableThere is no app-store app for self-hosted instances; add the progressive web app to your home screen instead. The 1 GB floor is our estimate for the app, PostgreSQL and Redis together; upstream publishes no RAM figure.

Head-to-head

More self-hosted tools

Common questions

How much RAM does Ghostfolio need?

Upstream publishes no RAM figure. Our estimate is about 1 GB for the three containers its compose file starts — the Node.js app, PostgreSQL and Redis. We have not measured it.

Can I self-host Ghostfolio with Docker?

Yes. Clone the repository, copy .env.example to .env and fill in the Redis and PostgreSQL passwords plus ACCESS_TOKEN_SALT and JWT_SECRET_KEY, then run docker compose -f docker/docker-compose.yml up -d. The app listens on port 3333, and the first user you create becomes the admin. Official images cover linux/amd64, linux/arm/v7 and linux/arm64.

Is self-hosted Ghostfolio missing Premium features?

Mostly no. Ghostfolio's pricing page lists Portfolio Summary, Allocations, Performance Benchmarks and the FIRE Calculator in the free, self-hosted Open Source plan; in the hosted cloud those are Premium features. What self-hosters do not get by default is the professional GHOSTFOLIO data provider — that needs a Premium subscription's API key. Yahoo, CoinGecko and manual data are officially supported without it.

Does Ghostfolio do budgeting?

No. Ghostfolio tracks investments — buys, sells, dividends, fees, interest and liabilities — and reports on performance and allocation. For budgets and everyday spending, pair it with a budgeting or bookkeeping app such as Firefly III or Actual Budget.

We use analytics cookies (Google Analytics, PostHog) to see which guides are useful. No ad networks, no cross-site tracking. See our privacy policy.