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. Since there were no prebuild images for pleroma, I decided to create one myself for usage on social.dawdle.space.
stable
- latest stable releasedevelop
- latest develop branchv2.5.0
- specific release (only the latest one is supported)
Specific versions might lag behind, but are always tested. Stable and develop are built automatically once a week and might break on breaking changes to pleroma.
Docker Compose
version: "3.8"
services:
db:
image: postgres:12.1-alpine
container_name: pleroma_db
restart: always
healthcheck:
test: ["CMD", "pg_isready", "-U", "pleroma"]
environment:
POSTGRES_USER: pleroma
POSTGRES_PASSWORD: ChangeMe!
POSTGRES_DB: pleroma
volumes:
- ./data/postgres:/var/lib/postgresql/data
web:
image: ghcr.io/explodingcamera/pleroma:stable
container_name: pleroma_web
healthcheck:
test:
["CMD-SHELL", "wget -q --spider --proxy=off localhost:4000 || exit 1"]
restart: always
ports:
- "4000:4000"
volumes:
- ./data/uploads:/data/uploads
- ./data/static:/data/static
- ./custom-config.exs:/data/config.exs # optional
environment:
PUID: 1000
PGID: 1000
DOMAIN: example.com
INSTANCE_NAME: Pleroma
ADMIN_EMAIL: [email protected]
NOTIFY_EMAIL: [email protected]
DB_USER: pleroma
DB_PASS: ChangeMe!
DB_NAME: pleroma
depends_on:
- db
Docker 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> --admin
PUID
- User ID (default:1000
)PGID
- Group ID (default:1000
)DOMAIN
- Domain name (default:example.com
)
See Pleroma documentation for more information.
custom-config.exs
import Config
config :pleroma, :instance,
registrations_open: false
config :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
)