Diaspora auf VPS/vServer installieren

0. Überblick

  • Verwendetes System: Debian 11 64 bit - VPS XXL 2.0
  • Genutzter User: Ich nehme alles als «root» vor
  • Zeitdauer: ca. 10 Minuten
  • Schwierigkeit: Einfach. Nur Code kopieren 😉
  • Besonderheiten:
    • Grundlage ist folgende Anleitung:
       Diese Anleitung muss zuerst ausgeführt werden.
    • Die Installation von Docker / Docker Compose wird hier vorausgesetzt.

1. Diaspora installieren

1.1 Einleitung

Diaspora ist ein freies, offenes soziales Netzwerk. Im Gegensatz zu anderen bekannten grossen sozialen Netzwerken ist Diaspora als dezentrales, verteiltes System aufgebaut.

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. Sie können 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

VPS Server von METANET
Finden Sie den Server der zu Ihren Anforderungen passt – jetzt einfach vergleichen.

1.3 Vorbereitung

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

Um Diaspora neben anderen Diensten auf unserem Server betreiben zu können, nutzen wir hier den Reverse Proxy Traefik.

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

1.3.1 Verzeichnis anlegen

Zuerst legen wir uns ein Verzeichnis an, in welchem wir später alle Daten von Diaspora speichern wollen.

mkdir -p /opt/containers/diaspora 

Den Pfad können Sie gerne anpassen. Dann können Sie diese Anleitung aber nicht mehr 1:1 nutzen.

1.3.2 Docker Compose Datei erstellen

Nun legen wir uns noch eine Docker Compose Datei an. Diese ist der «Bauplan» für Diaspora. Dazu geben Sie folgendes in der Konsole ein:

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

Nun kopieren Sie folgenden Inhalt:

version: '3' 

services: 

  diaspora: 

    image: koehn/diaspora:0.7.17.0 

    container_name: diaspora 

    restart: unless-stopped 

    volumes: 

      - ./images:/home/diaspora/diaspora/public/uploads/images 

      - ./diaspora.yml:/home/diaspora/diaspora/config/diaspora.yml:ro 

      - ./database.yml:/home/diaspora/diaspora/config/database.yml:ro 

 

    labels: 

      - "traefik.enable=true" 

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

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

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

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

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

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

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

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

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

      - "traefik.http.services.diaspora.loadbalancer.server.port=3000" 

      - "traefik.docker.network=proxy" 

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

    networks: 

      - proxy 

      - default 

 

  postgres: 

    image: postgres:10-alpine 

    container_name: diaspora-db 

    restart: unless-stopped 

    environment: 

      - POSTGRES_USER=diaspora 

      - POSTGRES_PASSWORD=diaspora 

      - POSTGRES_DB=diaspora_production 

    volumes: 

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

      - ./postgres-run:/var/run/postgresql 

    networks: 

      - default 

 

  redis: 

    image: redis:latest 

    container_name: diaspora-redis 

    restart: unless-stopped 

    command: redis-server --appendonly yes 

    volumes: 

      - ./redis:/data 

    networks: 

      - default 

 

networks: 

  proxy: 

    external: true 

Nun müssen wir noch einiges anpassen.

1.3.3 Hostname anpassen

Zuerst müssen Sie noch den Hostnamen anpassen, über welchen später Diaspora erreichbar sein soll.

Diese beiden Zeilen müssen Sie anpassen.

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

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

In meinem Fall also:

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

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

1.3.4 Postgres-Passwort anpassen

Hier müssen Sie lediglich folgende Zeile anpassen. Setzen Sie ein sicheres Passwort Ihrer Wahl.

vorher:

  - POSTGRES_PASSWORD=diaspora 

nachher:

      - POSTGRES_PASSWORD=Ad123Dd21uf3 

1.3.5 Verbindung zur Datenbank herstellen

Um die Verbindung zur Datenbank herzustellen, benötigen wir noch eine Konfigurationsdatei. Diese erstellen wir nun. Dazu geben Sie folgendes ein:

nano /opt/containers/diaspora/database.yml 

Hier kopieren Sie nun folgendes hinein:

postgresql: &postgresql 

  adapter: postgresql 

  host: diaspora-db 

  port: 5432 

  username: diaspora 

  password: diaspora 

  encoding: unicode 

 

mysql: &mysql 

  adapter: mysql2 

  host: "localhost" 

  port: 3306 

  username: "root" 

  password: "" 

#   socket: /tmp/mysql.sock 

  encoding: utf8mb4 

  collation: utf8mb4_bin 

 

 

#  Comment the postgresql line and uncomment the mysql line 

#  if you want to use mysql 

common: &common 

  # Choose one of the following 

  <<: *postgresql 

  #<<: *mysql 

 

  # Should match environment.sidekiq.concurrency 

  #pool: 25 

 

################################################## 

#### CONFIGURE ABOVE ############################# 

################################################## 

 

#  Normally you don't need to touch anything here 

 

combined: &combined 

  <<: *common 

development: 

  <<: *combined 

  database: diaspora_development 

production: 

  <<: *combined 

  database: diaspora_production 

test: 

  <<: *combined 

  database: "diaspora_test" 

integration1: 

  <<: *combined 

  database: diaspora_integration1 

integration2: 

  <<: *combined 

  database: diaspora_integration2 

Nun müssen wir noch das Kennwort ändern. Hier müssen Sie dasselbe Passwort verwenden, welches Sie in Schritt 1.3.4 vergeben haben.

vorher:

password: diaspora 

nachher:

password: Ad123Dd21uf3 

1.3.6 Diaspora-Konfiguration erstellen

Diaspora wird zum grossen Teil per Konfigurationsdatei konfiguriert. Da die Konfigurationsdatei sehr gross ist, laden wir uns hier eine Beispielkonfiguration herunter, welche wir später anpassen werden.

Zum Download geben Sie folgendes ein:

wget https://raw.githubusercontent.com/psaxton/docker-koehn-diaspora/master/compose/diaspora.yml.example 

Nun benennen wir die Datei noch um. Dazu geben Sie folgendes ein:

mv diaspora.yml.example diaspora.yml 

Diese Datei passen wir nun an. Dazu geben Sie folgendes ein:

nano /opt/containers/diaspora/diaspora.yml 

Hier müssen Sie direkt oben in der Datei folgendes ändern:

vorher:

# url: "https://example.org/" 

redis: 'redis://redis' 

nachher:

url: "https://diaspora.testbereich.net" 

redis: 'redis://diaspora-redis' 

So sieht es bei mir aus:
 

Nun scrollen Sie bis zum Bereich «assets». Hier ändern Sie folgendes ab:

vorher:

# serve: false 

nachher:

serve: true 

Dies sollte so aussehen:
 

Das sind die wichtigsten Einstellungen, damit Sie Diaspora später nutzen können. In der Konfiguration gibt es aber noch sehr viele andere Einstellungen, welche Sie nach Bedarf anpassen können.

2. Diaspora starten

Nun können Sie Diaspora starten. Dazu geben Sie folgendes ein:

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

Nach einigen Minuten sollte Diaspora im Browser zur Verfügung stehen. Dazu gehen Sie auf die Domain, welche Sie in der Docker Compose Konfiguration eingegeben haben. Bei mir ist dies: https://diaspora.testbereich.net

Jetzt sollten Sie folgendes sehen:
 

2.1 Administrator anlegen

Dazu müssen wir uns zuerst einen «normalen» Benutzer anlegen. Diesen können wir dann zum Administrator machen.

Den neuen Benutzer legen Sie an, indem Sie oben rechts auf «Konto erstellen» klicken.
 

Nun sehen Sie folgende Webseite. Hier erstellen Sie nun Ihren neuen Benutzer.
 

Wenn der Benutzer erstellt wurde, sollten Sie folgendes sehen:
 

Screenshot einer diaspora-Anmeldeseite: Begrüßungstext, Name-Feld, Profilbild-Upload mit Platzhalter-Avatar, Button.

Nun können wir Benutzer zum Administrator machen. Wichtig dabei ist, dass der Diaspora-Container gestartet ist.

Sie geben folgendes in Ihrer Konsole ein:

docker exec -it diaspora /bin/bash 

cd diaspora/ 
RAILS_ENV=production bundle exec rails console 

Hier müssen Sie nun Ihren Nutzernamen anpassen:

Role.add_admin User.where(username: "<Nutzername>").first.person 

Mein Benutzer heisst «metanet». Also sieht die Zeile bei mir so aus:

Role.add_admin User.where(username: "metanet").first.person 

Wenn alles funktioniert hat, sollten Sie folgendes sehen:
 

Nun können Sie Ihren Container mit folgendem Befehl wieder verlassen

exit 

exit 

Hier alle Befehle auf einen Blick

Nachdem Sie sich bei Diaspora neu angemeldet haben, sollten Sie oben rechts unter Ihrem Namen den Reiter «Admin» sehen.

Mit einem Klick darauf kommen Sie ins Admin Interface.

Nächster Artikel
Etherpad auf vServer/VPS installieren
Weitere passende Themen
Finden Sie Ihr ideales VPS-Paket