Linux

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

Linux
/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.

Linux
/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.