Ghostfolio is a free, open source personal finance management project written in TypeScript and released under AGPL-3.0. It has 9,311 GitHub stars, 1,314 forks and 315 open issues, and was last pushed 15 hours ago. On this registry it ranks #5 of 12 tracked projects in Personal Finance Management, with 5 head-to-head comparisons available. It gained 27 stars over the last 6 tracked days.

What is Ghostfolio?

What it is

Ghostfolio is open source wealth management software built with web technology and released under the AGPL-3.0 license. It lives in the personal finance management ecosystem and uses TypeScript, Nx, Angular, NestJS, Prisma, PostgreSQL, and Redis. The project provides a self-hostable application for tracking stocks, ETFs, and cryptocurrencies, while also offering a hosted Ghostfolio Premium cloud service.

The concrete problem it solves is the difficulty of keeping a diversified investment portfolio understandable across multiple accounts and platforms. It replaces manual spreadsheet work by storing transactions, analyzing portfolio composition, and presenting performance through charts and static risk analysis. The software is designed for personal use in continuous operation by people who value privacy and data ownership while making data-driven investment decisions.

Key capabilities

  • The application supports creating, updating, and deleting transactions, so users can record investment activity as it occurs.
  • It provides multi-account management, allowing users to track holdings across several platforms within one portfolio view.
  • It calculates portfolio performance using Return on Average Investment for Today, WTD, MTD, YTD, 1Y, 5Y, and Max periods.
  • It includes charts and static analysis to identify potential risks in portfolio composition.
  • It supports importing and exporting transactions, which helps users move data between Ghostfolio and other records.
  • It offers Dark Mode, Zen Mode, and a Progressive Web App with a mobile-first design.

Who uses it and how

  • Busy individuals who trade stocks, ETFs, or cryptocurrencies on multiple platforms use it to consolidate transactions and account balances into one portfolio.
  • Buy-and-hold investors use it to review portfolio composition, diversification, and performance over defined periods rather than checking each platform separately.
  • Privacy-focused users self-host the Docker container on their own infrastructure, while other users start with the hosted Ghostfolio Premium service.
  • Mobile-first users interact with the Progressive Web App, using import, export, charts, and static analysis to reconcile and evaluate records.

Getting started

The README points to official container images on Docker Hub for linux/amd64, linux/arm/v7, and linux/arm64, and it lists Ghostfolio Premium as the hosted cloud option. Self-hosters configure environment variables such as ACCESS_TOKEN_SALT and API_KEY_COINGECKO_DEMO, then run the application with PostgreSQL and Redis as backend services.

When to use it — and when not to

Use Ghostfolio when you want an open source, self-hostable personal finance application that focuses on portfolio tracking, performance, and risk analysis without spreadsheets. A self-hoster must operate the Docker container, PostgreSQL, and Redis, and must configure settings such as ACCESS_TOKEN_SALT and API_KEY_COINGECKO_DEMO, so it is less convenient than the hosted Ghostfolio Premium offering. The directory metadata shows zero listed contributors, 315 open issues, and a repository age of zero years, so a prospective user should examine current project activity before depending on it for continuous personal wealth management.

project readme (upstream, from github) — read inline

Ghostfolio logo

Ghostfolio

Open Source Wealth Management Software

Ghostfol.io | Live Demo | Ghostfolio Premium | FAQ | Blog | LinkedIn | Slack | X

Shield: Buy me a coffee Shield: Contributions Welcome Shield: Docker Pulls Shield: License: AGPL v3

Ghostfolio is an open source wealth management software built with web technology. The application empowers busy people to keep track of stocks, ETFs or cryptocurrencies and make solid, data-driven investment decisions. The software is designed for personal use in continuous operation.

Ghostfolio Premium

Our official Ghostfolio Premium cloud offering is the easiest way to get started. Due to the time it saves, this will be the best option for most people. Revenue is used to cover operational costs for the hosting infrastructure and professional data providers, and to fund ongoing development.

If you prefer to run Ghostfolio on your own infrastructure, please find further instructions in the Self-hosting section.

Why Ghostfolio?

Ghostfolio is for you if you are...

  • 💼 trading stocks, ETFs or cryptocurrencies on multiple platforms
  • 🏦 pursuing a buy & hold strategy
  • 🎯 interested in getting insights of your portfolio composition
  • 👻 valuing privacy and data ownership
  • 🧘 into minimalism
  • 🧺 caring about diversifying your financial resources
  • 🆓 interested in financial independence
  • 🙅 saying no to spreadsheets
  • 😎 still reading this list

Features

  • ✅ Create, update and delete transactions
  • ✅ Multi account management
  • ✅ Portfolio performance: Return on Average Investment (ROAI) for Today, WTD, MTD, YTD, 1Y, 5Y, Max
  • ✅ Various charts
  • ✅ Static analysis to identify potential risks in your portfolio
  • ✅ Import and export transactions
  • ✅ Dark Mode
  • ✅ Zen Mode
  • ✅ Progressive Web App (PWA) with a mobile-first design

Technology Stack

Ghostfolio is a modern web application written in TypeScript and organized as an Nx workspace.

Backend

The backend is based on NestJS using PostgreSQL as a database together with Prisma and Redis for caching.

Frontend

The frontend is built with Angular and uses Angular Material with utility classes from Bootstrap.

Self-hosting

We provide official container images hosted on Docker Hub for linux/amd64, linux/arm/v7 and linux/arm64.

Find answers to commonly asked questions about self-hosting Ghostfolio in our Frequently Asked Questions (FAQ) section.

Supported Environment Variables

Name Type Default Value Description
ACCESS_TOKEN_SALT string A random string used as salt for access tokens
API_KEY_COINGECKO_DEMO string (optional) The CoinGecko Demo API key
API_KEY_COINGECKO_PRO string (optional) The CoinGecko Pro API key
DATABASE_URL string The database connection URL. If using a connection pooler, use the pooled connection URL here. e.g. postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@localhost:5432/${POSTGRES_DB}
DIRECT_URL string (optional) The direct database connection URL used by the Prisma CLI (e.g. for schema migrations) and seeding, bypassing any connection poolers (falls back to DATABASE_URL)
ENABLE_FEATURE_AUTH_TOKEN boolean (optional) true Enables authentication via security token
ENABLE_FEATURE_MCP boolean (optional) false Enables the server of the Model Context Protocol (MCP) at /mcp (experimental)
HOST string (optional) 0.0.0.0 The host where the Ghostfolio application will run on
JWT_SECRET_KEY string A random string used for JSON Web Tokens (JWT)
LOG_LEVELS string[] (optional) The logging levels for the Ghostfolio application, e.g. ["debug","error","log","warn"]
PORT number (optional) 3333 The port where the Ghostfolio application will run on
POSTGRES_DB string The name of the PostgreSQL database
POSTGRES_PASSWORD string The password of the PostgreSQL database
POSTGRES_USER string The user of the _

readme truncated — read the full docs on github

Frequently asked questions

Is Ghostfolio free to use?

Ghostfolio is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Ghostfolio do?

Track, analyze, and optimize your investments effortlessly

What is Ghostfolio written in?

Ghostfolio is primarily written in TypeScript. Its source is publicly available at https://github.com/ghostfolio/ghostfolio, and it has 9,311 GitHub stars.