Sign inSign up

transitracer/pleroma

By transitracer

•Updated about 7 years ago

Pleroma is a free, federated social networking server built on open protocols.

Image
1

430

transitracer/pleroma repository overview

Pleroma is a free, federated social networking server built on open protocols. It is compatible with GNU Social, Mastodon, and many other ActivityPub and OStatus implementations.

The project consists of several components: Pleroma is the server implementation, and comes bundled with PleromaFE, the default frontend. Other useful utilities are also provided, such as an ActivityPub relay.

For more information, see https://pleroma.social⁠


Mount /var/lib/pleroma as a volume, additional configuration can go in /var/lib/pleroma/config.exs.

⁠Configuration

  • DOMAIN: Important for functionality (will default to localhost), the domain name that your instance will be accessed at.
  • INSTANCE_NAME: Defaults to "Pleroma", the canonical name of your instance, will be used as page title and on top of pleromaFE.
  • ADMIN_EMAIL: Published email that you can be reached at regarding administrative actions.
  • NOTIFY_EMAIL: Used for webpush notifications.
  • DB_USER: Defaults to pleroma, the user that the instance will connect to the postgres db using.
  • DB_PASSWORD: Required field, the password that pleroma will connect to the postgres db using.
  • DB_NAME: Defaults to pleroma.
  • DB_HOST: Defaults to db, a typical hostname for a docker-compose config, this is where you'll put the IP of your postgres installation.

⁠Docker Compose/Swarm installation

This is the config that I'm personally using, modified a little bit. If you're not using traefik in front you can obviously remove that bit.

version: "3.3"

services:
  instance:
    image: transitracer/pleroma:latest
    networks:
      - traefik-public
      - pleroma
    expose: 
      - 4000
    restart: unless-stopped
    environment:
      - INSTANCE_NAME=${NAME?Variable NAME not set}
      - DOMAIN=${DOMAIN?Variable DOMAIN not set}
      - ADMIN_EMAIL=${EMAIL?Variable EMAIL  not set}
      - NOTIFY_EMAIL=${EMAIL?Variable EMAIL not set}
      - DB_PASS=${PASSWORD?Variable PASSWORD not set}
    volumes:
      - data:/var/lib/pleroma
    deploy:
      labels:
        - traefik.frontend.rule=Host:${DOMAIN?Variable DOMAIN not set}
        - traefik.enable=true
        - traefik.port=4000
        - traefik.tags=traefik-public
        - traefik.docker.network=traefik-public
        # Traefik service that listens to HTTP
        - traefik.redirectorservice.frontend.entryPoints=http
        - traefik.redirectorservice.frontend.redirect.entryPoint=https
        # Traefik service that listens to HTTPS
        - traefik.webservice.frontend.entryPoints=https
  db:
    image: postgres:latest
    restart: always
    networks:
      - pleroma
    environment:
      - POSTGRES_USER=pleroma
      - POSTGRES_DB=pleroma
      - POSTGRES_PASSWORD=${PASSWORD?Variable PASSWORD not set}
    volumes:
      - pg-data:/var/lib/postgres/data

networks:
  traefik-public:
    external: true
  pleroma:
    external: false
    
volumes:
  pg-data:
    driver: local
  data:
    driver: local

Tag summary

Content type

Image

Digest

Size

41.7 MB

Last updated

about 7 years ago

docker pull transitracer/pleroma