Home
Softono

Docker Pleroma

Open source Elixir
17
Stars
2
Forks
0
Issues
1
Watchers
1 year
Last Commit

 About Docker Pleroma

a simple and compact docker image for pleroma

Platforms

Web Self-hosted Docker

Languages

Elixir

Links

Need Help Installing Docker Pleroma?

We provide expert installation service for this software. Our team will install, configure, and secure Docker Pleroma on your server. plans start at just $30.

Docker Pleroma

View on GitHub

Pleroma Docker

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.

Supported tags

  • latest - latest stable release
  • 3 - latest 3.x release
  • 3.15 - specific minor version
  • 3.15.1 - specific version
  • develop - latest develop branch build

Versions are build automatically using GitHub Actions weekly.

How to use this image

Start a Pleroma instance

Docker Compose

version: "3.8"

services:
  db:
    image: postgres:17-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
    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

Running Commands

$ docker exec -it pleroma_web ./cli.sh user new <username> <your@emailaddress> --admin

Configuration

Environment variables

  • PUID - User ID (default: 1000)
  • PGID - Group ID (default: 1000)
  • DOMAIN - Domain name (default: example.com)

Pleroma configuration

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"

Build-time variables

  • 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)

Other Docker images