Where Does Ghostfolio Store Portfolio Data?
Ghostfolio keeps every holding and transaction in Postgres. Back up the postgres volume plus the .env secrets file.
Last updated
Ghostfolio has no data folder to find. The compose stack runs the app, Postgres, and Redis, and only Postgres holds anything durable. Redis caches quotes and sessions. The app container is throwaway.
That makes the backup list short: one database dump and the .env file. Skip the secrets and the restored database still works, but every user gets logged out and tokens break.
Where Ghostfolio stores this, by platform
/var/lib/postgresql/data (postgres container)
Container-side Postgres data. The named volume postgres maps here in the official compose file. Dump it on a schedule.
Frequently asked questions
How do I back up Ghostfolio?
Dump Postgres and copy the .env file with database credentials, salts, and JWT secret. The app container itself holds no data, so it needs no backup.
Are there Ghostfolio data files to copy?
No. Ghostfolio stores no portfolio files on disk. Everything lands in Postgres, with Redis holding cache only. A file backup without a DB dump restores nothing.
What moves with a Ghostfolio migration besides the DB?
Copy DATABASE_URL, ACCESS_TOKEN_SALT, and JWT_SECRET_KEY into the new .env. Without the same salts, sessions and tokens from the old instance stop validating.
Notice an outdated path? Let us know.