Linux

Where Does Self-Hosted OpenProject Store Data?

OpenProject Docker volumes for Postgres and attachments, plus the env file that defines each stack setup.

Last updated

OpenProject splits state across containers. Postgres keeps projects and users in a volume like openproject-pgdata. Attachments live in an assets volume beside it. Both persist through named volumes, not the app container.

Settings come from a .env file with secrets and domain names. The compose file maps volumes with prefixed names. Back up both volumes with the env file. Database dumps travel better than raw volume copies for Postgres. Keep secrets from the env file safe. Attachments need the database to resolve.

Where OpenProject stores this, by platform

Linux
openproject-pgdata (Postgres volume)

Project database volume. Dump Postgres for portable backups instead of raw copies. Inspect for the host mountpoint since prefixes vary.

Linux
openproject-assets (attachments volume)

Attachment storage for work packages. Back up with the database and .env file. Named volume survives compose down but is not a backup.

Frequently asked questions

what do i back up for an OpenProject move

Back up the Postgres and assets volumes with the .env file. The database holds projects, the assets volume holds attachments. One without the other leaves work packages with missing files.

where are OpenProject volumes on the host

Run docker volume ls to list openproject volumes, then inspect for mountpoints. Names gain a compose prefix like openproject_openproject-pgdata. The .env file holds secrets and domain.

Notice an outdated path? Let us know.