Ghostfolio

AGPL-3.0
Platform
Web Docker Self-hosted
Licence
AGPL-3.0 Open source
Ghostfolio

Ghostfolio is an open source wealth management application for keeping track of stocks, ETFs and cryptocurrencies held across several brokers in one place. It runs as a web application you host yourself, stores everything in your own PostgreSQL database, and turns a plain transaction history into a live picture of what your portfolio is worth, how it has performed and how the money is spread.

Key Features

  • Multi-account portfolio — record holdings from more than one broker or platform and see the combined position, with active and closed positions listed separately.
  • Return on Average Investment — performance measured including dividends (total return) over Today, WTD, MTD, YTD, 1Y, 5Y and Max, alongside absolute gross and net performance minus fees.
  • Transaction ledger — create, update and delete buy and sell activities, then import or export the whole history as JSON so the data is never locked in.
  • Holdings and allocation views — each position’s value, allocation percentage, change and performance in one table, sortable by any column, so concentration becomes obvious at a glance.
  • Summary and net worth — invested capital, fees, total assets, cash, liabilities and net worth in a single view, with an emergency fund figure you can track separately.
  • Static portfolio analysis — automated checks that point out potential risks in your composition rather than only reporting the totals.
  • Watchlist and markets — follow assets you have not bought yet and browse market data inside the same interface. Quotes come from Yahoo Finance and CoinGecko, with your own optional API keys, or can be entered manually.
  • Dark mode, Zen mode and a mobile-first PWA — the interface works as an installable progressive web app on a phone as well as in a desktop browser.

Why Use Ghostfolio?

Most people end up with a spreadsheet once they hold positions on two or three platforms, and that spreadsheet slowly drifts out of date. Ghostfolio keeps the transaction history as the source of truth and recalculates everything from it, so performance figures stay consistent the moment a new activity is added.

Because it is self-hosted, your portfolio data never leaves infrastructure you control — there is no third-party account holding your positions, no advertising profile built from them, and no vendor that can change the terms under which you can read your own history. The design also suits the buy and hold investor rather than the day trader: it is built for continuous personal use, not for charting every tick.

Use Cases

  • Tracking a long-term ETF portfolio spread across several brokers without maintaining a spreadsheet.
  • Seeing what share of your money sits in one stock, one fund or one region before adding to it.
  • Keeping an eye on net worth by combining holdings, cash, liabilities and an emergency fund in one place.
  • Comparing the real return of an investment including dividends and after fees, not just the headline price change.
  • Running a private portfolio tracker on your own server or NAS when you do not want your holdings in someone else’s cloud.

Self-Hosting Ghostfolio

Ghostfolio ships official container images for linux/amd64, arm/v7 and arm64 on Docker Hub, and the repository includes a docker-compose.yml that brings up the application together with PostgreSQL and Redis. Configuration is done with environment variables: the database connection, the Redis host and password, a random access token salt, and optional CoinGecko API keys if you want the professional market data tier. Health endpoints are provided for readiness and liveness probes, so it fits into an existing container stack or a Kubernetes cluster.

The code is licensed under the GNU Affero General Public License v3.0, which keeps the server side open as well: if you run a modified Ghostfolio as a network service, you have to offer that source to its users. The project also sells a hosted Premium tier, which funds the hosting and the paid market data providers — a convenient option, but entirely optional. Self-hosting the open source application remains free.

The stack itself is TypeScript throughout: an Angular front end with Angular Material, and a NestJS back end using Prisma against PostgreSQL, with Redis for caching.

Explore More Categories

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.