cgX13

GoToSocial Auf Einem Vps Aufsetzen

GoToSocial auf einem eigenen VPS aufzusetzen, ist so einfach, dass ich eigentlich gar nichts dazu aufschreiben müsste. Als kleine Dokumentation, habe ich dennoch diesen Beitrag erstellt.

Als Server nutze ich den VC 2-4 von Strato für 4 Euro im Monat. Die 2 vCores und 4GB RAM sind gemäß der Systemanforderungen ausreichend. Die Installation von GoToSocial mit Docker Compose ist recht geradlinig und verläuft genau nach der Dokumentation:

Docker Compose: Caddy als Reverse Proxy und GoToSocial als Container

Damit der Reverse Proxy mit Caddy funktioniert, müssen die beiden Container im gleichen Docker Netzwerk sein.

docker-compose.yml:

services:
  caddy:
    image: caddy:latest
    container_name: caddy
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - ./caddy/data:/data
      - ./caddy/config:/config
    networks:
      - web

  gotosocial:
    image: docker.io/superseriousbusiness/gotosocial:latest
    container_name: gotosocial
    user: 1000:1000
    networks:
      - web
    environment:
      GTS_HOST: status.cgx13.de
      GTS_DB_TYPE: sqlite
      GTS_DB_ADDRESS: /gotosocial/storage/sqlite.db
      GTS_LETSENCRYPT_ENABLED: "false"
      GTS_WAZERO_COMPILATION_CACHE: /gotosocial/.cache
      GTS_TRUSTED_PROXIES: "172.20.0.2/16"
      TZ: Europe/Berlin
    ports:
      - "127.0.0.1:8080:8080"
    volumes:
      - ./gotosocial/data:/gotosocial/storage
      - ./gotosocial/.cache:/gotosocial/.cache
    restart: "unless-stopped"

networks:
  web:

Reverse Proxy Konfiguration für Caddy

TLDR; Alle Anfragen an status.cgx13.de werden an den Container mit Namen gotosocial auf dessen Port 8080 weigergeleitet.

Caddyfile:

status.cgx13.de {
  reverse_proxy gotosocial:8080
}

Benutzer anlegen

GoToSocial hat keine fancy GUI. Den ersten Benutzer muss man über die Commandline anlegen. Auch hierfür hat die offizielle Dokumentation Beispiele.

docker exec -it gotosocial /gotosocial/gotosocial admin account create \
  --username katzenmoshpit \
  --email cgx13@gmx.de \
  --password ***

Benutzer zum Admin machen

Der zuvor angelegte Benutzer ist erstmal nur ein einfacher Benutzer. Damit er auch Einstellungen für die GoToSocial Instanz vornehmen kann, muss man ihn zum Admin ernennen.

docker exec -it gotosocial /gotosocial/gotosocial admin account promote \
  --username katzenmoshpit 

Weiter geht’s!

Nun kann man über die Settings-Seite von GoToSocial (https://status.cgx13.de/settings) das Benutzerprofil mit Leben füllen und ein paar Angaben zum Server machen.

Doch viel mehr kann man erstmal nicht mit der Weboberfläche von GoToSocial machen. Wenn man Beiträge schreiben oder Leuten folgen will, braucht man eine Client-Anwendung. Aktuell genügt mir Tusky auf dem Smartphone, aber vielleicht schaue ich später nochmal nach Web- oder TUI-Clients.