,

Diaspora auf VPS installieren

Lesedauer 5 Minuten

Inhaltsverzeichnis

0. Überblick

1. Diaspora installieren

1.1 Einleitung

Diaspora ist ein freies, offenes soziales Netzwerk. Im Gegensatz zu anderen bekannten großen 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. 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. 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. Die Anleitung dazu findest du hier: https://www.easyname.at/blog/vps/anwendungen/traefik-reverseproxy-auf-vps-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 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 kannst du gerne anpassen. Dann kannst du 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 gibst du folgendes in der Konsole ein:

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

Nun kopierst du 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 eure 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 eure 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 musst du noch den Hostnamen anpassen, über welchen später Diaspora erreichbar sein soll.

Diese beiden Zeilen musst du 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 musst du lediglich folgende Zeile anpassen. Setze ein sicheres Passwort deiner 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 gibst du folgendes ein:

nano /opt/containers/diaspora/database.yml 

Hier kopierst du 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 musst du das selbe Passwort verwenden, welches du in Schritt 1.3.4 vergeben hast.

vorher:

password: diaspora 

nachher:

password: Ad123Dd21uf3 

1.3.6 Diaspora Konfiguration erstellen

Diaspora wird zum großen Teil per Konfigurationsdatei konfiguriert. Da die Konfigurationsdatei sehr groß ist, laden wir uns hier eine Beispiel-Konfiguration herunter, welche wir später anpassen werden.

Zum Download gibst du folgendes ein:

cd /opt/containers/diaspora/ 

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

Nun benennen wir die Datei noch um. Dazu gibst du folgendes ein:

mv diaspora.yml.example diaspora.yml 

Diese Datei passen wir nun an. Dazu gibst du folgendes ein:

nano /opt/containers/diaspora/diaspora.yml 

Hier musst du 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:

Diaspora Konfiguration erstellen

Nun scrollst du bis zum Bereich „assets“. Hier änderst du folgendes ab:

vorher:

#serve: false 

nachher:

serve: true 

Dies sollte so aussehen:

assets in diaspora

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

2. Diaspora starten

Nun kannst du Diaspora starten. Dazu gibst du 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 gehst du auf die Domain, welche du in der Docker Compose Konfiguration eingegeben hast. Bei mir ist dies: https://diaspora.testbereich.net

Jetzt solltest du folgendes sehen:

Diaspora starten

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 legst du an, indem du oben rechts auf „Konto erstellen“ klickst.

Konto erstellen Diaspora

Nun siehst du folgende Webseite. Hier erstellst du nun deinen neuen Benutzer.

Neuen Benutzer anlegen

Wenn der Benutzer erstellt wurde, solltest du folgendes sehen:

Screen nach Benutzererstellung

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

Du gibst folgendes in deiner Konsole ein:

docker exec -it diaspora /bin/bash 

cd diaspora/ 

RAILS_ENV=production bundle exec rails console 

Hier musst du nun deinen Nutzernamen anpassen:

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

Mein Benutzer heißt „dogado“. Also sieht die Zeile bei mir so aus:

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

Wenn alles funktioniert hat, solltest du folgendes sehen:

Benutzer zum Administrator machen

Nun kannst du deinen Container mit folgendem Befehl wieder verlassen

exit 

exit 

Hier alle Befehle auf einen Blick

Alle Befehle auf einem Blick

Nachdem du dich bei Diaspora neu angemeldet hast, solltest du oben rechts unter deinem Namen den Reiter „Admin“ sehen. 

Admin in Diaspora

Mit einem Klick darauf kommst du ins Admin Interface.

easyname ist ein erfolgreicher und bekannter österreichischer Anbieter von Cloud-Services, Domains sowie Webhosting bis hin zur Server-Infrastruktur und gehört seit 2020 zur dogado group.
Das Unternehmen ist seit 2006 in Österreich erfolgreich am Markt und inzwischen auch in vielen anderen Ländern weltweit tätig. Sowohl das Team als auch die gehosteten Daten befinden sich in Österreich.

easyname liegt die Datensicherheit besonders am Herzen und stellt daher zu jedem Hosting-Paket auch kostenlose SSL-Zertifikate zur Verfügung. Mit intuitiven Tools zur Erstellung von Websites und Webshops und mit Easy Install Apps wie WordPress, Joomla oder PrestaShop können alle easyname-Kunden schnell in die Online-Welt einsteigen.