Simple Docker image for Pleroma. Currently, only x86_64 is supported. If you want to run Pleroma on other architectures, you should be able to build it yourself using the Dockerfile. I don't run a Pleroma instance myself anymore so there might be some issues with the image whenever a new pleroma version is released.
latest- latest stable release3- latest 3.x release3.15- specific minor version3.15.1- specific versiondevelop- latest develop branch build
Versions are build automatically using GitHub Actions weekly.
Docker Compose
version: "3.8"services: db: image: postgres:17-alpinecontainer_name: pleroma_dbrestart: alwayshealthcheck: test: ["CMD", "pg_isready", "-U", "pleroma"]environment: POSTGRES_USER: pleromaPOSTGRES_PASSWORD: ChangeMe!POSTGRES_DB: pleromavolumes: - ./data/postgres:/var/lib/postgresql/dataweb: image: ghcr.io/explodingcamera/pleroma:stablecontainer_name: pleroma_webhealthcheck: test: ["CMD-SHELL", "wget -q --spider --proxy=off localhost:4000 || exit 1"]restart: alwaysports: - "4000:4000"volumes: - ./data/uploads:/data/uploads - ./data/static:/data/static - ./custom-config.exs:/data/config.exsenvironment: PUID: 1000PGID: 1000DOMAIN: example.comINSTANCE_NAME: PleromaADMIN_EMAIL: [email protected]NOTIFY_EMAIL: [email protected]DB_USER: pleromaDB_PASS: ChangeMe!DB_NAME: pleromadepends_on: - dbDocker CLI
docker run -d \ --name=pleroma \ -e PUID=1000 \ -e PGID=1000 \ -e DOMAIN="example.com" -e INSTANCE_NAME="Pleroma" -e ADMIN_EMAIL="[email protected]" -e NOTIFY_EMAIL="[email protected]" -e DB_USER="pleroma" -e DB_PASS="ChangeMe!" -e DB_NAME="pleroma" -p 4000:4000 \ -v /path/to/static:/data/static \ -v /path/to/uploads:/data/uploads \ -v /path/to/customconfig:/data/config.exs \ # optional --restart unless-stopped \ ghcr.io/explodingcamera/pleroma:stable$ docker exec -it pleroma_web ./cli.sh user new <username><your@emailaddress> --adminPUID- User ID (default:1000)PGID- Group ID (default:1000)DOMAIN- Domain name (default:example.com)
See Pleroma documentation for more information.
custom-config.exs
importConfigconfig:pleroma,:instance,registrations_open: falseconfig:pleroma,Pleroma.Web.Endpoint,url: [host: "pleroma.example.org"]config:pleroma,Pleroma.Web.WebFinger,domain: "example.org"PLEROMA_VERSION- Pleroma version to build (default:stable)PLEROMA_REPO- Pleroma repository to clone (default:https://git.pleroma.social/pleroma/pleroma.git)EXTRA_PKGS- Extra packages to install (default:imagemagick libmagic ffmpeg)