-
Was ist ein vServer?
-
vServer und Sicherheit
-
vServer - Anwendungsfälle
-
vServer bei dogado
-
vServer und Plesk
-
vServer Betriebssyteme
-
vServer Glossar
0. Überblick
- Verwendetes System: Debian 11 64 bit - VPS XXL 2.0
- Genutzter User: Ich nehme alles als „root“ vor
- Zeitdauer: ca. 50 Minuten
- Schwierigkeit: Einfach. Nur Code kopieren 😉
- Besonderheiten:
- Grundlage ist folgende Anleitung: https://www.dogado.de/vps/vserver-anwendungsfaelle/traefik-reverseproxy-auf-vserver-installieren. Diese Anleitung muss zuerst ausgeführt werden.
- Die Installation von Docker / Docker Compose wird hier vorausgesetzt.
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/