Selbst hosten

Sridu selbst betreiben

Sridu ist ein Ordner mit Dateien. Du kannst ihn auf deinem eigenen Computer öffnen, mit Docker für das ganze Haus bereitstellen oder ins Internet bringen. Such dir unten den passenden Weg aus. Jeder ist Schritt für Schritt erklärt, Vorwissen brauchst du keins.

Du willst einfach nur spielen? Dann brauchst du nichts davon. Öffne play.sridu.com in Chrome oder Edge, dort ist alles eingerichtet und kostenlos.

Sridu läuft schon? Admin-Seite · Konfigurator · Alle Einstellungen

Such dir deinen Weg aus

Welcher passt zu mir?

  • Nur die Dateien Ein Computer, an dem die Kameras hängen. Fünf Minuten, außer einem kleinen Hilfsprogramm keine Installation.
  • Docker zu Hause Für alle Handys, Tablets und Boards im Haus oder im Vereinsheim. Auf einem NAS (Synology, Unraid), einem Raspberry Pi oder einem PC. Etwa 15 Minuten.
  • Öffentlicher Server Dein eigenes Sridu unter deiner eigenen Domain, für den Verein oder Freunde überall. Braucht Docker, eine Domain und https davor: einen Cloudflare Tunnel zu Hause oder einen Reverse Proxy auf einem gemieteten Server. Ein Abend.
  • Webspace Cloudflare Pages, Netlify oder GitHub Pages. Kostenlos und ohne eigenen Server, dafür ohne Admin-Seite und Online-Rangliste.
sridu-231.zip Version 231 · 20 MB · die komplette App, Docker-Dateien inklusive
Sridu herunterladen

Nur die Dateien

Du spielst an dem Computer, an dem die Kameras hängen. Der Browser braucht dafür einen kleinen Webserver: index.html per Doppelklick zu öffnen, klappt nicht, dann verweigert der Browser die Kameras.

Windows

  1. Installiere Python aus dem Microsoft Store (nach „Python“ suchen, die neueste Version nehmen). Es ist kostenlos und dient nur als kleiner Webserver.
  2. Lade Sridu herunter (sridu-latest.zip) und entpacke es: Rechtsklick auf die Datei, „Alle extrahieren“.
  3. Öffne ein Terminal im Ordner: den entpackten Ordner öffnen, Rechtsklick auf eine freie Stelle, „In Terminal öffnen“.
  4. Starte den Webserver mit diesem Befehl und lass das Fenster offen:
python -m http.server 8080
  1. Öffne http://localhost:8080 in Chrome oder Edge. Fertig. Zum Beenden das Terminalfenster schließen.

macOS

  1. Lade Sridu herunter (sridu-latest.zip). Safari entpackt es selbst in deinen Download-Ordner.
  2. Öffne ein Terminal im Ordner: im Finder Rechtsklick auf den Ordner, Dienste, „Neues Terminal beim Ordner“.
  3. Starte den Webserver mit diesem Befehl und lass das Fenster offen. Bietet macOS an, die „Befehlszeilen-Entwicklerwerkzeuge“ zu installieren, stimm zu und gib den Befehl danach noch einmal ein.
python3 -m http.server 8080
  1. Öffne http://localhost:8080 in Chrome oder Edge. Fertig. Zum Beenden im Terminal Ctrl+C drücken.

Linux

  1. Öffne ein Terminal, lade Sridu herunter und entpacke es:
mkdir -p ~/sridu && cd ~/sridu
wget https://sridu.com/wp-content/themes/sridu/assets/download/sridu-latest.zip
unzip -q sridu-latest.zip && rm sridu-latest.zip
  1. Starte den Webserver und lass das Terminal offen:
python3 -m http.server 8080
  1. Öffne http://localhost:8080 in Chrome oder Chromium. Fertig. Zum Beenden Ctrl+C drücken.

Handys und Tablets können Sridu nicht aus Dateien starten, denn ein Browser gibt die Kamera und die Verschlüsselung für Online-Spiele nur unter https:// oder localhost frei. Dafür gibt es zwei einfache Wege. Öffne play.sridu.com: Das ist kostenlos, lässt sich als App installieren und läuft nach dem ersten Laden auch offline. Oder ein anderes Gerät im Haus hostet Sridu mit Docker, etwa ein NAS, ein Raspberry Pi oder ein PC, und du öffnest es von dort.

Docker zu Hause

Docker betreibt Sridu als kleinen Server. Dann kann jedes Gerät in deinem Netz es öffnen, auch Handys, dazu gibt es eine Admin-Seite, eine Lobby und eine Rangliste. Weil es über https läuft, kann jedes Gerät Sridu auch als App installieren. Die Schritte hängen davon ab, wo Docker läuft.

Nur für dein Heimnetz. In diesem Setup teilen sich alle Geräte die Spieler: Namen, PINs, Statistiken und alle Spiele liegen in /data/players.json auf dem Server, und wer dieses Sridu erreicht, kann die Datei ohne Anmeldung lesen und ändern. Zu Hause ist genau das gewollt. Mach dieses Setup aber nie aus dem Internet erreichbar, weder per Portweiterleitung noch über einen Tunnel oder auf einem gemieteten Server. Dafür gibt es den Tab Öffentlicher Server: Er speichert keine Spielerdaten auf dem Server.

Synology

  1. Installiere den Container Manager aus dem Paket-Zentrum (DSM 7.2 oder neuer).
  2. Leg Sridu auf das NAS: in der File Station den freigegebenen Ordner docker öffnen, sridu-latest.zip hochladen, Rechtsklick, „Extrahieren“, „Hierher extrahieren“. Den neuen Ordner sridu-… in sridu umbenennen.
  3. Passe zwei Einstellungen an: Bearbeite docker-compose.yml mit dem Texteditor. Trag bei SRIDU_HOSTS die IP-Adresse deines NAS ein, zum Beispiel SRIDU_HOSTS: "192.168.1.20". Setz PUID: "1026" und PGID: "100". Speichern.
  4. Leg das Projekt an: Container Manager, Projekt, Erstellen. Name sridu, Pfad /volume1/docker/sridu, Quelle „Vorhandene docker-compose.yml verwenden“. Das Webportal überspringen, dann Fertig. Das erste Bauen dauert ein paar Minuten.
  5. Spielen: Am NAS selbst spielt niemand, öffne also https://<NAS-IP>:8443 am Board-Computer und auf jedem anderen Gerät.

Admin-Seite einrichten

  1. Öffne die Admin-Seite unter http://<NAS-IP>:8090/admin/. Sie öffnet sich nur aus deinem Heimnetz, nimm also die IP-Adresse und keinen Domainnamen.
  2. Gib den Einrichtungscode ein. Er sieht so aus: ABCD-EFGH-JKLM. Am einfachsten findest du ihn in der Datei SETUP-CODE.txt im Ordner server/admin deines Sridu-Ordners. Außerdem steht er im Protokoll des Containers sridu-api: Container Manager, Container, sridu-api, Protokoll.
  3. Wähle ein Passwort. Ab jetzt meldest du dich damit an, den Einrichtungscode brauchst du nicht mehr. Was die einzelnen Reiter tun, erklärt die Anleitung zur Admin-Seite.

Unraid

  1. Installiere „Docker Compose Manager“ über Apps (Community Applications). Das bringt den Befehl docker compose mit.
  2. Öffne das Terminal (das Symbol >_ oben rechts) und hol Sridu in den appdata-Ordner:
mkdir -p /mnt/user/appdata && cd /mnt/user/appdata
wget https://sridu.com/wp-content/themes/sridu/assets/download/sridu-latest.zip
unzip -q sridu-latest.zip -d sridu && rm sridu-latest.zip
cd sridu
  1. Passe zwei Einstellungen an: nano docker-compose.yml. Trag bei SRIDU_HOSTS die IP-Adresse deines Servers ein, zum Beispiel "192.168.1.20". Setz PUID: "99" und PGID: "100" (Unraids Benutzer nobody und Gruppe users). Speichern mit Ctrl+O, Enter, Ctrl+X.
  2. Starte es. Das erste Bauen dauert ein paar Minuten:
docker compose up -d --build
  1. Spielen: öffne https://<Server-IP>:8443 am Board-Computer und auf jedem anderen Gerät.

Admin-Seite einrichten

  1. Öffne die Admin-Seite unter http://<Server-IP>:8090/admin/. Sie öffnet sich nur aus deinem Heimnetz, nimm also die IP-Adresse und keinen Domainnamen.
  2. Gib den Einrichtungscode ein. Er sieht so aus: ABCD-EFGH-JKLM. Am einfachsten findest du ihn in der Datei SETUP-CODE.txt im Ordner server/admin deines Sridu-Ordners. Außerdem steht er im Protokoll des Containers sridu-api: im Docker-Tab auf sridu-api klicken, Logs, oder docker logs sridu-api im Terminal.
  3. Wähle ein Passwort. Ab jetzt meldest du dich damit an, den Einrichtungscode brauchst du nicht mehr. Was die einzelnen Reiter tun, erklärt die Anleitung zur Admin-Seite.

Linux / Raspberry Pi

  1. Installiere Docker, falls es noch fehlt, und melde dich danach einmal ab und wieder an:
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
  1. Hol Sridu:
mkdir -p ~ && cd ~
wget https://sridu.com/wp-content/themes/sridu/assets/download/sridu-latest.zip
unzip -q sridu-latest.zip -d sridu && rm sridu-latest.zip
cd sridu
  1. Passe zwei Einstellungen an: nano docker-compose.yml. Trag bei SRIDU_HOSTS die IP-Adresse des Rechners ein (hostname -I zeigt sie). Setz PUID und PGID auf die Werte, die id anzeigt, meist 1000 und 1000.
  2. Starte es:
docker compose up -d --build
  1. Spielen: http://localhost:8090 auf diesem Rechner, https://<IP>:8443 auf allen anderen Geräten.

Admin-Seite einrichten

  1. Öffne die Admin-Seite unter http://<IP>:8090/admin/. Sie öffnet sich nur aus deinem Heimnetz, nimm also die IP-Adresse und keinen Domainnamen.
  2. Gib den Einrichtungscode ein. Er sieht so aus: ABCD-EFGH-JKLM. Am einfachsten findest du ihn in der Datei SETUP-CODE.txt im Ordner server/admin deines Sridu-Ordners. Außerdem steht er im Protokoll des Containers sridu-api: docker logs sridu-api.
  3. Wähle ein Passwort. Ab jetzt meldest du dich damit an, den Einrichtungscode brauchst du nicht mehr. Was die einzelnen Reiter tun, erklärt die Anleitung zur Admin-Seite.

Windows / Mac

  1. Installiere Docker Desktop von docker.com und starte es.
  2. Lade Sridu herunter (sridu-latest.zip) und entpacke es, zum Beispiel in Dokumente.
  3. Passe eine Einstellung an: öffne docker-compose.yml in einem Texteditor und trag bei SRIDU_HOSTS die IP-Adresse dieses Computers ein (Windows: ipconfig, Mac: Systemeinstellungen, Netzwerk). PUID und PGID können bleiben, wie sie sind.
  4. Starte es: öffne ein Terminal im Ordner (Windows: Rechtsklick, „In Terminal öffnen“; Mac: Dienste, „Neues Terminal beim Ordner“) und gib ein:
docker compose up -d --build
  1. Spielen: http://localhost:8090 auf diesem Computer, https://<IP>:8443 auf allen anderen Geräten.

Admin-Seite einrichten

  1. Öffne die Admin-Seite unter http://localhost:8090/admin/. Sie öffnet sich nur aus deinem Heimnetz, nimm also die IP-Adresse und keinen Domainnamen.
  2. Gib den Einrichtungscode ein. Er sieht so aus: ABCD-EFGH-JKLM. Am einfachsten findest du ihn in der Datei SETUP-CODE.txt im Ordner server/admin deines Sridu-Ordners. Außerdem steht er im Protokoll des Containers sridu-api: Docker Desktop, Containers, sridu-api, Logs.
  3. Wähle ein Passwort. Ab jetzt meldest du dich damit an, den Einrichtungscode brauchst du nicht mehr. Was die einzelnen Reiter tun, erklärt die Anleitung zur Admin-Seite.

Der Browser warnt vor dem Zertifikat, wenn du https://…:8443 zum ersten Mal öffnest. Das ist normal: Das Zertifikat stammt von deinem eigenen Server und nicht von einer Zertifizierungsstelle. Klick auf „Erweitert“ und „Weiter“. Einmal pro Gerät reicht.

Öffentlicher Server

Dein eigenes Sridu unter deiner eigenen Domain, für den Verein oder Freunde überall. Es läuft in Docker auf einem Gerät, das ständig an ist, und davor sorgt etwas für https. Zu Hause ist das meist ein Cloudflare Tunnel, auf einem gemieteten Server ein Reverse Proxy.

Spielerdarts.dein-verein.de httpsTunnel oder Proxy Dein ServerSridu, Port 8110Admin-Seitenur von hier Dein ComputerHeimnetz oder SSH

Was du brauchst

  • Ein Gerät, das ständig läuft, mit Docker: dein NAS oder ein Mini-PC zu Hause oder ein gemieteter Server (VPS) bei einem beliebigen Hoster.
  • Eine Domain oder Subdomain, bei der du DNS-Einträge setzen kannst, zum Beispiel darts.dein-verein.de.
  • https vor Sridu: zu Hause ein Cloudflare Tunnel (der kostenlose Tarif reicht, und am Router wird kein Port geöffnet), auf einem gemieteten Server ein Reverse Proxy wie Caddy, nginx oder Traefik.

Schritt für Schritt

  1. Leg Sridu auf das Gerät wie im Tab Docker (auf einem gemieteten Server wie unter Linux), starte es aber noch nicht.
  2. Öffne deploy/public/docker-compose.yml und ändere diese Einstellungen: deine Domain bei SRIDU_DOMAIN, SRIDU_LOBBY_GUESTS: "off" (außer du willst eine offene Lobby für alle sein), SRIDU_BUG_INBOX: "off", SRIDU_CF_ANALYTICS: "off" (außer du schaltest Cloudflare Web Analytics selbst ein) und PUID/PGID passend zu deinem System.

Dann weiter, je nachdem, wo es läuft:

Zu Hause: Cloudflare Tunnel

  1. Leg das Projekt aus dem Ordner deploy/public an (Synology: Pfad /volume1/docker/sridu/deploy/public; Terminal: cd deploy/public && docker compose up -d --build).
  2. Richte den Tunnel ein: Zieh deine Domain zu Cloudflare um (der kostenlose Tarif reicht), leg dann in Zero Trust unter Networks, Tunnels einen Tunnel an und starte dessen cloudflared auf dem NAS, so wie Cloudflare es dir zeigt.
  3. Verbinde die Domain: Leg im Tunnel einen Public Hostname an. Subdomain und Domain wie bei SRIDU_DOMAIN, Typ HTTP, URL <NAS-IP>:8110.
  4. Teste es: Unter deiner Domain sollte jetzt Sridu erscheinen.
  5. Öffne die Admin-Seite an einem Computer in deinem Heimnetz unter http://<NAS-IP>:8110/admin/, also mit der IP-Adresse des NAS und nicht mit der Domain.

Gemieteter Server: Reverse Proxy

  1. Halt den Port privat: Ändere in der docker-compose.yml den Port von web von "8110:8080" auf "127.0.0.1:8110:8080". Dann erreicht nur der Proxy auf demselben Server Sridu, das Internet nicht.
  2. Starte es: cd deploy/public && docker compose up -d --build.
  3. Richte die Domain auf den Server: ein A-Eintrag (und AAAA für IPv6) mit der IP-Adresse des Servers bei deinem DNS-Anbieter.
  4. Richte den Proxy ein. Bei Caddy reichen zwei Zeilen im Caddyfile, das Zertifikat holt Caddy selbst: darts.dein-verein.de und darunter reverse_proxy 127.0.0.1:8110. Bei nginx, Traefik oder Nginx Proxy Manager leitest du auf 127.0.0.1:8110 weiter, mit eingeschalteten WebSockets und den Headern X-Forwarded-For und X-Forwarded-Proto.
  5. Teste es: Unter deiner Domain sollte jetzt Sridu erscheinen.
  6. Öffne die Admin-Seite über einen SSH-Tunnel. Führ auf deinem eigenen Computer ssh -L 8110:127.0.0.1:8110 du@dein-server aus und lass das Fenster offen. Dann öffnest du im Browser http://localhost:8110/admin/. Für Sridu kommst du so vom Server selbst, und die Seite öffnet sich.

Admin-Seite einrichten

Die Admin-Seite öffnet sich nie über deine Domain. deine-domain/admin zeigt nichts, und das ist Absicht: Niemand im Internet soll die Anmeldung überhaupt sehen. Öffne sie so, wie es oben in deinem Tab steht, aus dem Heimnetz oder über einen SSH-Tunnel. Willst du sie unbedingt über die Domain erreichen, setz SRIDU_ADMIN_REMOTE: "on" und wähle ein langes Passwort. Noch sicherer ist eine Zugangskontrolle davor, etwa Cloudflare Access.

  1. Gib den Einrichtungscode ein. Er sieht so aus: ABCD-EFGH-JKLM. Am einfachsten findest du ihn in der Datei SETUP-CODE.txt im Ordner deploy/public/data deines Sridu-Ordners. Außerdem steht er im Protokoll des Containers sridu-public-api-1 (Synology: Container Manager, Container, Protokoll; Terminal: docker logs sridu-public-api-1).
  2. Wähle ein Passwort. Ab jetzt meldest du dich damit an, den Einrichtungscode brauchst du nicht mehr. Was die einzelnen Reiter tun, erklärt die Anleitung zur Admin-Seite.

Du stellst Sridu anderen in Deutschland oder der EU bereit? Dann brauchst du ein Impressum und eine Datenschutzerklärung. Trag beides auf der Admin-Seite unter „Rechtliches“ ein, die App verlinkt es unten auf ihrer Startseite.

Online-Matches verbinden sich in manchen Netzen nicht (optionales Relay)

Mobile Daten und manche Router erlauben keine direkte Verbindung zwischen zwei Boards. Ein Relay (TURN) leitet den verschlüsselten Verkehr dann weiter. Ein Cloudflare Tunnel transportiert ihn nicht, deshalb braucht es offene Ports: UDP 3478, UDP 31000–31040 und TCP 3478, zu Hause am Router zum NAS weitergeleitet, auf einem gemieteten Server in dessen Firewall freigegeben. Die Schritte stehen in den Kommentaren des Dienstes relay in der docker-compose.yml. Gestartet wird es mit docker compose --profile relay up -d.

Webspace

Sridu braucht keinen eigenen Server, deshalb reicht jeder Webspace, der Dateien ausliefert. Das ist kostenlos und schnell. Was dir fehlt: die Admin-Seite, eine eigene Lobby (die Spieler treffen sich stattdessen über öffentliche Server) und die Online-Rangliste. Name, Farben, Spielmodi und Voreinstellungen gehen trotzdem, mit dem Konfigurator.

Cloudflare Pages

  1. Lade Sridu herunter (sridu-latest.zip) und entpacke es nicht.
  2. Im Cloudflare-Dashboard: Workers & Pages, Create, Pages, „Upload assets“.
  3. Vergib einen Namen und zieh die ZIP-Datei selbst in das Upload-Feld. Deploy. Der entpackte Ordner klappt nicht: Mit den Sprachdateien sind es rund 1.000 Dateien, mehr als das Dashboard auf einmal annimmt.
  4. Fertig: Sridu läuft unter <name>.pages.dev. Unter Custom domains kannst du deine eigene Domain eintragen.

Netlify

  1. Lade Sridu herunter und entpacke es (sridu-latest.zip).
  2. Öffne app.netlify.com/drop und zieh den entpackten Ordner auf die Seite.
  3. Fertig: Netlify zeigt dir die Adresse. Mit einem kostenlosen Konto bleibt die Seite dauerhaft bestehen.

GitHub Pages

  1. Leg auf GitHub ein neues, leeres Repository an.
  2. Bring Sridu im Terminal hinein. Der Upload im Browser nimmt nur 100 Dateien auf einmal, Sridu hat rund 1.000: git clone https://github.com/<name>/<repository>.git, dann cd <repository>, sridu-latest.zip dort hinein laden, unzip -q sridu-latest.zip && rm sridu-latest.zip, git add -A, git commit -m "Sridu", git push.
  3. Schalte Pages ein: Settings, Pages, Quelle „Deploy from a branch“, Branch main, Ordner / (root).
  4. Fertig: Nach einer Minute läuft Sridu unter <name>.github.io/<repository>.

Deine Einstellungen ohne Docker: der Konfigurator

Eine Kopie auf Webspace hat keine Admin-Seite, sie kann aber trotzdem Namen und Farben deines Vereins, eine Begrüßung, eine Ankündigung, eine Auswahl an Spielmodi und Voreinstellungen für neue Geräte bekommen. Die App liest das aus einer Datei namens config.json neben der index.html. Der Konfigurator im App-Ordner schreibt dir diese Datei.

  1. config.html öffnen Sie kommt mit Sridu und liegt neben der index.html. Nach dem Hochladen öffnest du https://<deine Adresse>/config.html. Liegt dort schon eine config.json, werden ihre Werte geladen.
  2. Die Bereiche durchgehen Allgemein, Auftritt, App anpassen, Online und Rechtliches. Was du nicht anfasst, behält seine Voreinstellung. Deine Änderungen merkt sich der Browser, bis du sie herunterlädst.
  3. config.json herunterladen Der Knopf sitzt oben rechts. Die Datei entsteht in deinem Browser, verschickt wird nichts.
  4. Neben die index.html legen Lade den Ordner erneut hoch und lade die App neu. Geräte, die sie schon kennen, übernehmen die Änderung beim nächsten Start.
WoSo kommt die Datei hin
Cloudflare PagesEntpacke Sridu, leg die config.json neben die index.html, markiere alles im Ordner und komprimiere es zu einer neuen ZIP (die Dateien, nicht den Ordner drumherum). Diese ZIP lädst du im Dashboard mit „Create deployment“ hoch. Mit wrangler pages deploy legst du sie stattdessen in den Ordner.
Webspace (FTP)Lade sie mit deinem FTP-Programm in denselben Ordner wie die index.html.
NAS Web StationKopier sie in den Ordner der Web Station neben die index.html (Synology: freigegebener Ordner web, QNAP: Web), mit der File Station oder übers Netzwerk.
Dein eigener ComputerNeben die index.html in den Ordner, den du ausgibst, zum Beispiel mit python3 -m http.server.
  • LogoEine Datei neben der index.html, etwa logo.png, eine https-Adresse oder ein kleines Bild bis 100 KB, das direkt in die config.json kommt.
  • LobbyOhne eigenen Server treffen sich die Spieler ohne Server über öffentliche Broker oder in der Sridu-Online-Lobby auf play.sridu.com.
  • Impressum und DatenschutzEin Link auf eine Seite deiner Website oder der Text selbst in der config.json.
  • Ganz ohne DateiGeht auch. Dann verhält sich die App wie immer.

Was Docker braucht: eine gemeinsame Rangliste, Spielerdaten auf dem Server, eine eigene Lobby mit Moderation und einen eigenen Broker, die Nutzungszahlen und die Admin-Seite mit Passwort, Logo-Upload und Sicherung. Dafür nimmst du Docker zu Hause oder einen öffentlichen Server.

Deinen Server betreiben

Nach der Installation

Alles, was du später brauchst, für Docker zu Hause und den öffentlichen Server.

Ich habe den Einrichtungscode verpasst

Öffne die Datei SETUP-CODE.txt im Datenordner des Servers: Docker zu Hause server/admin/, öffentlicher Server deploy/public/data/. Sie bleibt dort, bis ein Passwort gesetzt ist. Keine Datei da? Dann ist der Admin-Dienst noch nicht gestartet: Schau im Protokoll des Projekts nach einer Fehlermeldung oder starte es neu.

Ich habe das Admin-Passwort vergessen

Lösch die Datei admin.json im Datenordner des Servers und starte das Projekt neu. Im Protokoll erscheint ein neuer Einrichtungscode, und du wählst ein neues Passwort. Einstellungen, Rangliste und Texte bleiben erhalten.

Wo der Ordner liegt: Docker zu Hause server/admin/, öffentlicher Server deploy/public/data/.

Wo liegen meine Daten, und wie sichere ich sie?

Alles liegt in normalen Ordnern neben der docker-compose.yml. Docker zu Hause: data/ (die Spielerdaten aller Browser) und server/ (Admin, Rangliste, Zertifikat). Öffentlicher Server: deploy/public/data/. Zum Sichern kopierst du diese Ordner oder nimmst sie in dein Backup auf (Hyper Backup, Unraid appdata backup).

Auf einen anderen Server umziehen

Stopp das Projekt, kopier den ganzen Sridu-Ordner samt Datenordnern auf den neuen Rechner, pass bei geänderter IP-Adresse SRIDU_HOSTS an und leg das Projekt dort an. Alles ist wieder da: Spieler, Rangliste, Passwort.

Eine Einstellung ändern

Öffne die docker-compose.yml, ändere den Wert, speichere und starte das Projekt neu (Synology: Projekt, Aktion, Neu starten; Terminal: docker compose up -d). Viele Einstellungen lassen sich auch auf der Admin-Seite ändern, ganz ohne Neustart.

Auf eine neue Version aktualisieren

Was eine neue Version bringt, steht in den Versionshinweisen. Am einfachsten geht es über den Reiter „Aktualisieren“ der Admin-Seite: Er baut die neue Version, während die alte weiterläuft, und tauscht dann die Container aus. Deine Spieler merken davon höchstens ein paar Sekunden.

  • Neu bauen, immer da: Lade die sridu-latest.zip, entpacke sie über deinen Ordner und behalte deine docker-compose.yml und die Datenordner. Dann drückst du auf der Admin-Seite Neu bauen.
  • Herunterladen und aktualisieren, wenn du es einschaltest: Setz in der docker-compose.yml beim Dienst updater SRIDU_UPDATE_DOWNLOAD auf "on" und starte einmal docker compose up -d. Ab dann zeigt die Admin-Seite, wenn eine neue Version da ist, und spielt sie mit einem Klick ein. Compose-Dateien, Einstellungen und Daten bleiben, wie sie sind, und Zurück zur vorigen Version holt die alten Dateien zurück.
  • Ohne Updater: Entpacken wie oben, dann von Hand neu bauen (Synology: Projekt, Aktion, Erstellen; Terminal: docker compose up -d --build). Eine ältere Installation bekommt den Updater auf demselben Weg einmal dazu: Der Reiter „Aktualisieren“ zeigt dir die Zeilen für die docker-compose.yml.

Neue Einstellungen eines Release stehen in der docker-compose.yml im ZIP. Übernimm davon, was du brauchst.

Der Port ist schon belegt

Ein anderes Programm nutzt bereits 8090, 8443 oder 8110. Ändere in der docker-compose.yml unter ports die linke Zahl, zum Beispiel "8091:8080", und nimm die neue Zahl in der Adresse.

Wozu PUID und PGID?

Sie legen fest, welchem Benutzer die Datenordner gehören. Mit deinem eigenen Benutzer kannst du sie ohne Rechteprobleme öffnen, kopieren und sichern. Synology: 1026 und 100. Unraid: 99 und 100. Anderes Linux: was id anzeigt. Docker Desktop unter Windows und Mac: jeder Wert funktioniert.

Nachschlagen

Alle Einstellungen

Alle Einstellungen stehen oben in der docker-compose.yml. Wert ändern, Projekt neu starten. Viele davon lassen sich auch auf der Admin-Seite setzen, die dann Vorrang hat. Die beiden Spalten zeigen die Voreinstellung für Docker zu Hause und für den öffentlichen Server.

Server

EinstellungZu HauseÖffentlichWas sie bewirkt
SRIDU_HOSTSleerleerIP-Adressen oder Namen des Rechners für das https-Zertifikat, durch Komma getrennt. Vor dem ersten Start setzen.
SRIDU_DOMAINentfälltdeine DomainNur dieser Name und lokale Adressen bekommen eine Antwort.
SRIDU_ADMIN_REMOTEentfälltoffon = Die Admin-Seite öffnet sich auch über deine Domain, von überall. Nur mit langem Passwort, ein SSH-Tunnel ist sicherer.
SRIDU_LANGautoautoDie Sprache, in der alle starten: auto (die des Browsers) oder en, de, nl, fr, es, it, pt-BR, pl, hr.
SRIDU_INDEXentfälltonon: Suchmaschinen dürfen die App aufnehmen.
SRIDU_ADMIN_REMOTEentfälltoffon: die Admin-Seite auch von außerhalb deines Heimnetzes. Nicht empfohlen.
SRIDU_CF_ANALYTICSoffoffon: lässt das Skript von Cloudflare Web Analytics laden (Sicherheitsrichtlinie). Nur, wenn du Web Analytics für deine Domain bei Cloudflare eingeschaltet hast; nenne es dann in deiner Datenschutzerklärung.
SRIDU_NAMEleerleerName der Installation im Browser-Tab und auf der Startseite, zum Beispiel DC Bullseye. Leer: Sridu. Logo, Begrüßung und mehr stehen auf der Admin-Seite unter Auftritt.
SRIDU_ACCENTleerleerAkzentfarbe als #rrggbb, zum Beispiel #e11d48. Leer: das Sridu-Grün.
SRIDU_COUNTERSononNutzungszahlen für die Übersicht der Admin-Seite: App-Starts, beendete Spiele, Darts und Spielmodi pro Tag. Nur Summen, keine Cookies, Geräte-IDs, Namen oder Adressen.
SRIDU_PACKSonoffDie Soundpaket-Bibliothek: Die Apps dieses Servers können hier ihre eigenen Sounds und Ansager-Stimmen teilen und die der anderen installieren. off: Auf dem Server wird nichts gespeichert, und die App zeigt keine Bibliothek. Wer teilen darf und wie groß ein Paket sein darf, stellst du auf der Admin-Seite unter Soundpakete ein.
SRIDU_UPDATE_CHECKononAlle sechs Stunden und beim Öffnen der Admin-Seite fragt der Server bei sridu.com, ob eine neuere Version erschienen ist, und die Admin-Seite zeigt sie dann an (Aktualisieren). Eine einfache Anfrage ohne Cookies und ohne Kennung, heruntergeladen oder installiert wird nichts. off: keine Prüfung.
PUID / PGID1000 / 10001026 / 100Benutzer und Gruppe, denen die Datenordner gehören.

Lobby

EinstellungZu HauseÖffentlichWas sie bewirkt
SRIDU_LOBBYononDer offene Chat, um Gegner zu finden.
SRIDU_LOBBY_MODElocallocallocal: die Lobby dieses Servers. online: die Sridu-Online-Lobby auf play.sridu.com, zusammen mit allen dort (ein anderer Server über SRIDU_LOBBY_ONLINE_URL). mesh: ohne Server, über die Broker.
SRIDU_LOBBY_GUESTSentfälltonon: Apps anderer Installationen dürfen in diese Lobby. play.sridu.com braucht das, auf deinem eigenen Server meist off.
SRIDU_LOBBY_ROOMSoneoneone: ein Raum für alle. lang: ein Raum pro App-Sprache.
SRIDU_LOBBY_MAXentfällt2000Höchstens so viele Spieler gleichzeitig online.
SRIDU_LOBBY_PER_IPentfällt30Höchstens so viele Lobby-Verbindungen von einer IP-Adresse. Eine IPv6-Adresse zählt nach ihrem /64-Block.
SRIDU_CHAT_HISTORYentfällt50Chatzeilen, die für Neuankömmlinge im Arbeitsspeicher bleiben. Nie auf der Festplatte.
SRIDU_REPORTSononon: Spieler können Personen und Nachrichten in der Lobby melden, die Meldungen siehst du auf der Admin-Seite. Steht nicht in der Datei; zum Abschalten die Zeile ergänzen oder die Admin-Seite nutzen.

Spielen und Rangliste

EinstellungZu HauseÖffentlichWas sie bewirkt
SRIDU_CORRECT_CHALLENGESonoffDürfen Spieler in den Stunden-Challenges Darts korrigieren? Öffentlich aus: Es zählt, was die Kameras gesehen haben.
SRIDU_CORRECT_MINISonoffDasselbe für Trainings- und Wartespiele, also alles mit Bestwerten. Partyspiele lassen sich immer korrigieren.
SRIDU_JOIN_APPROVALoffonon: Ein Gerät von außerhalb des Heimnetzes fragt, bevor es einer Sitzung beitritt.
SRIDU_BOARDononDie Rangliste der Stunden-Challenges.
SRIDU_BOARD_STRICToffonon: Es zählen nur Darts, die die Kameras gesehen haben, keine Korrekturen, nichts eingetippt.
SRIDU_BOARD_TRAININGononTrainingsspiele zählen in der Online-Rangliste. off: Ihre Rekorde bleiben auf dem Gerät.
SRIDU_BOARD_WARMUPononDasselbe für die Wartespiele.
SRIDU_PROGRESSoffonon: Spielerlevel, Abzeichen mit Hinweisen im Spiel, Tagesziele und Looks zum Freischalten (Level & Abzeichen).
SRIDU_PROGRESS_DAILYononDie drei Tagesziele, nur mit SRIDU_PROGRESS.
SRIDU_PROGRESS_UNLOCKSononLooks zum Freischalten, nur mit SRIDU_PROGRESS.
SRIDU_BOARD_DAYS9090Ergebnisse werden nach so vielen Tagen gelöscht (mindestens 35).

Fehlermeldungen

EinstellungZu HauseÖffentlichWas sie bewirkt
SRIDU_BUG_REPORTSononon: Spieler können eine Fehlermeldung direkt an die Sridu-Entwickler (play.sridu.com) schicken. off: nur per E-Mail oder als Datei.
SRIDU_BUG_INBOXoffonNimmt die Meldungen aller Installationen an. Nur für play.sridu.com, auf deinem eigenen Server bitte off.
SRIDU_BUG_DAYSentfällt90Eingegangene Meldungen werden nach so vielen Tagen gelöscht (7–365).

Online-Matches

EinstellungZu HauseÖffentlichWas sie bewirkt
SRIDU_BROKERononDer eigene Broker verbindet Geräte für Online-Matches.
SRIDU_PUBLIC_BROKERSonoffon: Öffentliche MQTT-Server helfen mit, wenn der eigene nicht erreichbar ist.
SRIDU_STUNleer (Google und Cloudflare)CloudflareWo ein Gerät für eine direkte Verbindung seine öffentliche Adresse erfährt.
SRIDU_TURN_HOSTleerleerÖffentlicher Name deines Relays. Leer: kein Relay.
SRIDU_TURN_PORT34783478Port des Relays.
SRIDU_TURN_URLSleerleerEin gehosteter TURN-Dienst statt des eigenen Relays.
SRIDU_TURN_USER / _PASSsridu / leersridu / leerZugang zum Relay. Für jeden Besucher sichtbar, er hält nur fremde Apps draußen.

Vergleich

Die vier Wege im Überblick

Nur die DateienDocker zu HauseÖffentlicher ServerWebspace
Kameras, alle Spielmodi, StatistikenJaJaJaJa
Handys und Tablets im NetzNeinJaJaJa
Online-MatchesÜber öffentliche ServerJaJaÜber öffentliche Server
Admin-SeiteNeinJaJaNein, dafür der Konfigurator
Eigene Lobby und RanglisteNeinJaJaNein
Aus dem Internet erreichbarNeinNeinJaJa
Aufwand5 Minuten15 MinutenEin Abend10 Minuten

Lizenz: Selbst hosten ist für dich zu Hause und für deinen Verein kostenlos. Für eine Kneipe, eine öffentliche Veranstaltung oder alles Kommerzielle melde dich bitte vorher, siehe Wer darf was?