Wähle einen Artikel
Pleroma auf VPS/vServer installieren
Pleroma auf VPS/vServer installieren

0. Überblick

1. Pleroma installieren

1.1 Einleitung

Pleroma ist ein freies und offenes Soziales Netzwerk. Im Gegensatz zu anderen bekannten Sozialen Netzwerken kannst du dies selbst hosten und nach deinen Wünschen anpassen.

1.2 Infos zu yml Dateien

Bei yml Dateien ist es sehr wichtig, dass die Zeilen alle richtig eingerückt sind. Die Zeilen MÜSSEN immer mit der Leertaste eingerückt werden. Es dürfen KEINE Tabs enthalten sein. Du kannst den nachfolgenden Code immer online „überprüfen“ lassen. Die meisten Fehler entstehen nämlich durch die falsche Formatierung. Ein Dienst zum Überprüfen ist zum Beispiel: https://codebeautify.org/yaml-validator

1.3 Vorbereitung

Diese Anleitung basiert auf dem aktuellen Debian 11 Betriebssystem. Pleroma werden wir unter Docker realisieren. Dies ermöglicht uns später sehr schnelle Updates und eine schnelle Installation.

Um Pleroma neben anderen Diensten auf unserem Server betreiben zu können, nutzen wir hier den Reverse Proxy Traefik. Die Anleitung dazu findest du hier: https://www.dogado.de/vps/vserver-anwendungsfaelle/traefik-reverseproxy-auf-vserver-installieren

Diese Anleitung passt auf die obige Traefik Anleitung. Daher lässt sich diese Anleitung nur 1:1 nutzen, wenn du Traefik nach der obigen Anleitung installiert hat.

1.3.1 Repository downloaden

Zuerst laden wir uns das aktuelle Repository von Pleroma herunter. Dazu gibst du folgendes in deine Konsole ein:

git clone https://git.pleroma.social/pleroma/pleroma-docker-compose.git /opt/containers/pleroma 

Den Pfad kannst du gerne anpassen. Dann kannst du diese Anleitung aber nicht mehr 1:1 nutzen.

1.3.2 Docker Compose Datei anpassen

Nun müssen wir unsere Docker Compose Datei noch anpassen, damit Traefik funktioniert. Da wir hier sehr viele Änderungen vornehmen müssen, ist es einfacher erst die Datei zu löschen und dann komplett neu zu erstellen. Zum Löschen gibst du folgenden Befehl ein:

rm /opt/containers/pleroma/docker-compose.yml 

Nun erstellen wir uns eine neue Docker Compose Datei:

nano /opt/containers/pleroma/docker-compose.yml 

Anschließend kopierst du folgenden Code in die Datei:

version: '3.1' 

 

services: 

  pleroma: 

    image: git.pleroma.social:5050/pleroma/pleroma:latest 

    container_name: "pleroma" 

    hostname: "pleroma" 

    labels: 

      - "org.label-schema.group=pleroma" 

    restart: always 

    env_file: ./environments/pleroma/pleroma.env 

    depends_on: 

      - pleroma-db 

    volumes: 

      - ./volumes/pleroma/config.exs:/var/lib/pleroma/config.exs 

      - ./volumes/pleroma/uploads:/var/lib/pleroma/uploads 

    labels: 

      - "traefik.enable=true" 

      - "traefik.http.routers.pleroma.entrypoints=http" 

      - "traefik.http.routers.pleroma.rule=Host(`pleroma.euredomain.de`)"   # Hier eure URL eingeben # 

      - "traefik.http.middlewares.pleroma-https-redirect.redirectscheme.scheme=https" 

      - "traefik.http.routers.pleroma.middlewares=pleroma-https-redirect" 

      - "traefik.http.routers.pleroma-secure.entrypoints=https" 

      - "traefik.http.routers.pleroma-secure.rule=Host(`pleroma.euredomain.de`)"    # Hier eure URL eingeben # 

      - "traefik.http.routers.pleroma-secure.tls=true" 

      - "traefik.http.routers.pleroma-secure.tls.certresolver=http" 

      - "traefik.http.routers.pleroma-secure.service=pleroma" 

      - "traefik.http.services.pleroma.loadbalancer.server.port=4000" 

      - "traefik.docker.network=proxy" 

      - "traefik.http.routers.pleroma-secure.middlewares=secHeaders@file" 

    networks: 

      - proxy 

      - default 

 

  pleroma-db: 

    image: postgres:12.1-alpine 

    container_name: "pleroma-db" 

    hostname: "pleroma-db" 

    labels: 

      - "com.centurylinklabs.watchtower.enable=False" 

      - "org.label-schema.group=pleroma" 

    restart: always 

    env_file: ./environments/pleroma-db/postgres.env 

    volumes: 

      - ./volumes/pleroma-db/pgdata:/var/lib/postgresql/data 

      - ./volumes/pleroma-db/pginit:/docker-entrypoint-initdb.d 

    networks: 

      - default 

 

networks: 

  proxy: 

    external: true 

1.3.3 Hostname anpassen

Nun musst du noch den Hostnamen anpassen, über welchen später Pleroma erreichbar sein soll. Achte hierbei darauf, dass du den selben Hostnamen wir in der Konfigurationsdatei (Schritt 1.3.2) verwendest.

Diese beiden Zeilen musst du anpassen.

    - "traefik.http.routers.pleroma.rule=Host(`pleroma.euredomain.de`)" 

    - "traefik.http.routers.pleroma-secure.rule=Host(`pleroma.euredomain.de`)" 

In meinem Fall also:

    - "traefik.http.routers.pleroma.rule=Host(`pleroma.testbereich.net`)" 

    - "traefik.http.routers.pleroma-secure.rule=Host(`pleroma.testbereich.net`)" 

1.3.4 Konfiguration anpassen 

In dieser Datei kannst du noch weitere Einstellungen vornehmen. 

nano /opt/containers/pleroma/volumes/pleroma/config.exs 

 Eine Übersicht aller Einstellungen findest du direkt hier beim Hersteller: https://docs-develop.pleroma.social/backend/configuration/cheatsheet/  

2. Pleroma starten

Nun kannst du Pleroma starten. Dazu gibst du folgendes ein:

docker compose -f /opt/containers/pleroma/docker-compose.yml up -d 

Dieser Vorgang dauert beim ersten Start einige Minuten. Daher müssen wir jetzt etwas warten.
 

Nach ca. 1 Minute sollte jetzt Pleroma im Browser zur Verfügung stehen. Dazu gehst du auf die Domain, welche du in der Docker Compose Konfiguration eingegeben hast. Bei mir ist dies: https://pleroma.testbereich.net 

Jetzt solltest du folgendes sehen: 

2.1 Administrator anlegen

Nun legen wir uns einen Administrator Benutzer an. Dazu gibst du auf deiner Konsole folgendes ein:

docker exec pleroma /bin/sh -c "printf '%s\n' y | /opt/pleroma/bin/pleroma_ctl user new <Nutzername> <E-Mail Adresse> --admin“ 

Bei mir wäre das der Benutzer „dogado“ mit der E-Mail Adresse „dogado@testbereich.net“.

docker exec pleroma /bin/sh -c "printf '%s\n' y | /opt/pleroma/bin/pleroma_ctl user new dogado dogado@testbereich.net --admin" 

In der Konsole solltest du nun folgendes sehen:
 

Kopiere diesen Link nun in deinen Webbrowser. Du solltest dann folgendes sehen:

2.2 Weiter Benutzer anlegen

Standardmäßig können sich keine Benutzer selbst über die Webseite registrieren.  

Ihr könnt dies ändern, indem ihr folgende Datei öffnet: 

nano /opt/containers/pleroma/volumes/pleroma/config.exs 

Kopiert nun folgenden Code in die Datei: 

config :pleroma, :instance, 
  registrations_open: true, 
  federating: true 

Insgesamt sollte die Datei nun so aussehen: 

import Config 
 
config :pleroma, :instance, 
  registrations_open: true, 
  federating: true 

Jetzt müsst ihr Pleroma lediglich neu starten und danach können sich Benutzer selbst registrieren. 
 

2.3 Weitere Einstellungen vornehmen

Pleroma wird komplett per Konfigurationsdatei konfiguriert. Wenn du weitere Einstellungen vornehmen möchtest, dann musst du diese in dieser Datei vornehmen:

nano /opt/containers/pleroma/config.exs 

Hier findest du einen Überblick über alle Einstellungen: https://docs-develop.pleroma.social/backend/configuration/cheatsheet/

Nächster Artikel
Plex MediaServer auf vServer/VPS installieren
Weitere passende Themen