Where Does Pleroma Store Uploads and Config?
Pleroma upload folder and Elixir config paths for OTP installs on Linux, plus the database behind them.
Last updated
Pleroma keeps user uploads on the filesystem and everything else in Postgres. OTP installs default to /var/lib/pleroma/uploads for images, videos, avatars, and remote media cache. The same root holds a static folder for custom emoji and frontend overrides.
Config lives separately in /etc/pleroma/config.exs. That file holds the database password, secrets, and upload settings. Back up the uploads folder with a database dump and the config file. Those three restore the instance completely on a fresh host.
Where Pleroma stores this, by platform
/var/lib/pleroma/uploads
Default for OTP and package installs. Source installs use a local uploads folder instead, so check the config when paths differ. Serve this folder with correct web user ownership.
/etc/pleroma/config.exs
Elixir config with DB credentials and upload backend. Restrict read access to the pleroma user. From-source installs keep config/prod.secret.exs in the checkout.
Frequently asked questions
what do i back up for a Pleroma move
Copy /var/lib/pleroma/uploads with a Postgres dump of the pleroma database. The config file holds secrets needed to reconnect the two. Media alone without the database leaves orphaned files.
can Pleroma store uploads on S3 instead of disk
Yes. Set the storage backend to S3 in config.exs and restart. Local uploads stay where they are and new files go to the bucket. Most single user servers never need this.
Notice an outdated path? Let us know.