• Warum dogado?
Wähle ein 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://memleak.eu/sn0w/pleroma-docker.git /opt/containers/pleroma 

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

1.3.2 Konfigurationsdateien erstellen

Nun erstellen wir noch zwei Konfigurationsdateien. Dazu gibst du folgendes ein:

cd /opt/containers/pleroma/ 

cp config.dist.exs config.exs 

cp .env.dist .env 

Nun müssen wir die Konfiguration noch etwas anpassen. Dazu generieren wir uns zuerst noch einen „Secret Key“. Gebt dazu folgendes ein:

dd if=/dev/urandom bs=1 count=128 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev 

Die Ausgabe sollte bei dir etwa so aussehen:

Diesen Key kopierst du dir und öffnest folgende Datei:

nano /opt/containers/pleroma/config.exs 

Nun passt du folgende Stelle an:

config :pleroma, Pleroma.Web.Endpoint, 

  url: [host: "example.com", scheme: "https", port: 443], 

  secret_key_base: "<key>" 

vorher:

host: "example.com" 

secret_key_base: "<key>" 

nachher:

host: "pleroma.testbereich.net" 

secret_key_base: " rV3iwAdCBIdB+8RMfWEYhUEEHTzinoO3hRsFlWH8rJEv3dUuC4eznZZF4NaYR4zSNfFvHnlpFxZE6zGhJ05+QrCidpqR15mjaWMuOvWSIs7qgei4BYJw9lDC+G6oxAeMerKGbr+Ky7l4BCGVpQnfa5kqGHRDSx32bc3jrj7TwiY" 

Dies sieht dann so aus:

In dieser Datei kannst du noch weitere Einstellungen vornehmen. Eine Übersicht aller Einstellungen findest du direkt hier beim Hersteller: https://docs-develop.pleroma.social/backend/configuration/cheatsheet/

1.3.3 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.7" 

 

services: 

  db: 

    image: postgres:13-alpine 

    init: true 

    restart: unless-stopped 

    container_name: pleroma-db 

    environment: { 

      POSTGRES_DB: pleroma, 

      POSTGRES_USER: pleroma, 

      POSTGRES_PASSWORD: pleroma, 

    } 

    volumes: 

      - ./db:/var/lib/postgresql/data 

      - ./initdb.sql:/docker-entrypoint-initdb.d/pleroma.sql 

    networks: 

      - default 

 

  server: 

    build: . 

    init: true 

    restart: unless-stopped 

    container_name: pleroma-web 

    links: 

      - db 

    volumes: 

      - ./custom.d:/custom.d:ro 

      - ./config.exs:/home/pleroma/pleroma/config/prod.secret.exs:ro 

      - ./config.exs:/home/pleroma/pleroma/config/dev.secret.exs:ro 

      - ./emoji:/home/pleroma/pleroma/instance/static/emoji 

      - ./uploads:/uploads 

    networks: 

      - proxy 

      - default 

    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: 

    external: true 

1.3.4 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.5 Verzeichnisse erstellen

Nun erstellen wir uns noch zwei weitere Verzeichnisse und passen deren Rechte an. Dazu gibst du folgendes ein:

mkdir /opt/containers/pleroma/uploads 

mkdir /opt/containers/pleroma/emoji 

chown 1000:1000 /opt/containers/pleroma/uploads/ 

chown 1000:1000 /opt/containers/pleroma/emoji/ 

1.3.6 Pleroma Image erstellen

Nun lassen wir uns ein Docker Image mit unseren ganzen Einstellungen zusammenbauen. Dazu gibst du folgendes ein:

cd /opt/containers/pleroma/ 

./pleroma.sh build 

Dieser Vorgang kann einige Zeit dauern. Bei mir hat es etwa 30 Minuten gedauert.

Am Ende solltest du folgendes sehen:

2. Pleroma starten

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

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

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

Wenn alles fertig ist, dann solltest du folgendes sehen:

Anschließend beendest du den Docker Container mittels „STRG+C“ und startest ihm mit folgendem Befehl erneut. Dieser Start ist aber dieses Mal im Hintergrund.

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

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:

cd /opt/containers/pleroma/ 

./pleroma.sh mix pleroma.user new <Nutzername> <E-Mail Adresse> --admin 

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

./pleroma.sh mix pleroma.user new dogado dogado@testbereich.net --admin 

In der Konsole solltest du nun folgendes sehen:

Hier gibst du nun „y“ ein. Danach solltest du einen Link sehen, über welchen du dein Kennwort setzen kannst.

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

Hier kannst du nun ein Passwort vergeben. Anschließend kannst du auf die Homepage zurückkehren und dich mit deinem neuen Administrator anmelden.

2.2 Weiter Benutzer anlegen

Standardmäßig können sich weitere Benutzer selbst über die Webseite registrieren. Diese müssen lediglich auf „Registrieren“ klicken und einen Nutzernamen / Passwort wählen.

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