Betriebssysteme, Programme & Web

Taiga auf Synology NAS einrichten: So hostest du dein eigenes Kanban

Projektmanagement kann manchmal ganz schön kompliziert sein, vor allem dann, wenn du dich nicht tagein tagaus damit beschäftigst und eigentlich nur deine offenen Aufgaben planen möchtest. Oder die deines Teams oder deiner Familie. Dabei gibt es mehrere Methoden, um ans Ziel zu kommen, ohne gleich den Überblick zu verlieren. Eine davon ist die sogenannte agile Methodik, mit der du ganz flexibel auf Veränderungen reagieren kannst. Schon einmal von Kanban gehört? Dieser Ansatz zählt ebenfalls zu den agilen Methoden.

Bei Kanban nutzt du ein Board, auf dem alle Aufgaben als Kärtchen dargestellt werden. Diese wandern durch verschiedene Stadien, wie etwa „zu erledigen“, „in Arbeit“ oder „erledigt“. Je nach Fortschritt im Projekt kannst du die Kärtchen entsprechend ihrem Status in die richtige Spalte verschieben. Und das Gute daran? Das Board ist nicht nur für dich allein wie geschaffen, sondern du kannst damit ganze Teams effizient managen.

Mit Taiga kannst du exakt diesen Ansatz verfolgen, nur dass du dafür kein physisches Bord benötigst, sondern dieses als virtuelle Variante auf deinem Synology NAS einrichtest. Dadurch lassen sich alle Aufgaben und Fortschritte an einem einzigen Ort vereinen und übersichtlich darstellen – für dich, deine Kollegen und alle weiteren Personen, die du daran teilhaben möchtest. Wir zeigen dir Schritt für Schritt, wie du Taiga auf Synology NAS einrichten und konfigurieren kannst.

Eine kurze Warnung: Du benötigst für unser Vorhaben zwingend ein NAS der Plus-Produktreihe oder ein Enterprise-Modell. Die J-Reihe unterstützt nämlich einige notwendige Features (Docker, ausreichend Arbeitsspeicher) nicht. Darüber hinaus nimmt die Einrichtung etwas Zeit in Anspruch und dein digitales Kanban-Board lässt sich definitiv nicht mit einem einzigen Mausklick installieren. Aber du wirst sehen, es lohnt sich!

Taiga auf Synology NAS einrichten: Synology DiskStation vorbereiten

Bevor du dich direkt in dein persönliches Kanban-Abenteuer stürzt, ist es zwingend notwendig, auf deinem Synology NAS erst einmal ein paar Vorbereitungen zu treffen. Allen voran ist es ratsam, sämtliche Pakete auf den aktuellen Stand zu bringen – inklusive Synology DSM – also dein Betriebssystem auf dem NAS. Stoße also, bevor du mit weiteren Vorbereitungen beginnst, im Bereich „Aktualisieren und Wiederherstellen“ deiner Systemsteuerung mal ein Update an und vergiss auch nicht, im Paket-Zentrum alles zu aktualisieren.

Docker installieren

Im nächsten Schritt geht es an die Installation von Docker, bzw. dem Synology-Pendant in Form des Container Managers. Diesen findest du im Paket-Zentrum, am schnellsten über die Suchleiste oben.

Bevor alles beginnt, benötigst du den Container Manager, um sogenannte Cointainer (Docker Images) überhaupt ausführen zu können.
Bevor alles beginnt, benötigst du den Container Manager, um sogenannte Cointainer (Docker Images) überhaupt ausführen zu können.

Ein Klick auf den Installieren-Button installiert den Container Manager und du kannst anschließend mit der Installation von Portainer fortfahren.

Tipp: Nutzt du eine ältere DSM-Version als 7.2, heißt der Container Manager noch Docker.

Portainer installieren (optional, aber ratsam)

Nicht, dass du dieses Tool zwingend benötigen würdest, aber Portainer erleichtert dir die Erstellung von Docker-Containern ungemein. Das Interface des Container Managers ist nämlich etwas plump geraten und lässt zahlreiche Einstellungen vermissen. Portainer selbst ist lediglich ein grafisches Benutzerinterface, mit dem du ganz unkompliziert verschiedene Docker-Umgebungen verwalten kannst.

Damit alles seinen Platz hat: Erst einmal einen Ordner für Portainer erstellen.
Damit alles seinen Platz hat: Erst einmal einen Ordner für Portainer erstellen.

Öffne zuerst die File Station auf deinem Synology NAS und erstelle im Verzeichnis „docker“ einen neuen Ordner mit dem Namen „portainer“. Achte auf Groß-Kleinschreibung und schreibe alles klein, so eliminierst du eine beliebte Fehlerquelle.

Wechsle anschließend in die Systemsteuerung und in den Abschnitt „Aufgabenplaner“. Klicke in der Menüleiste auf den Erstellen-Button, wähle „Geplante Aufgabe“ und „Benutzerdefiniertes Skript“.

Praktischerweise erledigt ein simples Skript die Installation von Portainer.
Praktischerweise erledigt ein simples Skript die Installation von Portainer.

Vergib nun einen Namen für das Portainer-Installationsskript, wie zum Beispiel Portainer-Installation. Wähle im Benutzer-Dropdown-Menü den Benutzer root und stelle sicher, dass sich bei „Aktiviert“ ein Haken befindet. Wechsle dann in den Tab „Zeitplan“ und entscheide dich dort für „Am folgenden Datum ausführen“. Achte außerdem darauf, dass „Nicht wiederholen“ ausgewählt ist – ansonsten würde dein NAS die Installation im gewählten Abstand wiederholen.

Damit dein Skript ausgeführt wird, musst du dieses einfach mit einem Zeitplan ausführen.
Damit dein Skript ausgeführt wird, musst du dieses einfach mit einem Zeitplan ausführen.

Jetzt kannst du in den Aufgabeneinstellungen das Installationsskript einfügen und im Idealfall auch gleich einen Haken bei „Ausführungsdetails per E-Mail senden“ setzen sowie deine E-Mail-Adresse eingeben. Dadurch erfährst du gleich, ob die Installation funktioniert hat oder fehlgeschlagen ist.

Füge anschließend im Feld „Benutzerdefiniertes Skript“ folgendes Installationsskript ein:

docker run -d --name=portainer \
-p 8000:8000 \
-p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /volume1/docker/portainer:/data \
--restart=always \
portainer/portainer-ce
Mit dem Skript installierst du nicht nur Portainer, sondern legst auch gleich wichtige Variablen fest, wie etwa den Port 9000 oder den automatischen Neustart bei Fehlern.
Mit dem Skript installierst du nicht nur Portainer, sondern legst auch gleich wichtige Variablen fest, wie etwa den Port 9000 oder den automatischen Neustart bei Fehlern.

Mit einem Klick auf den OK-Button startest du die Installation des neuen User-Interfaces für Docker. Segne die Warnung über die Änderung der Systemkonfiguration ebenfalls mit einem „OK“ ab, gib dein (Admin-)Passwort ein und bestätige mit „Senden“. Wähle darauf den neuen Eintrag in der Liste der Aufgaben aus und klicke in der Menüleiste auf „Ausführen“, um das eben eingebundene Skript zu starten. Ein letzter Klick auf „OK“, und los geht’s.

Wenn alles geklappt hat, läuft Portainer jetzt bereits auf deinem NAS und ist über den Port 9000 erreichbar. Öffne jetzt deinen Browser und rufe folgende Adresse auf, wobei du unseren Platzhalter mit der tatsächlichen IP-Adresse deines Synology NAS ersetzt:

http://deineNASipADRESSE:9000
Portainer läuft? Zeit für einen Admin-User.
Portainer läuft? Zeit für einen Admin-User.

Jetzt landest du direkt auf der Portainer-Oberfläche und kannst dort einen Benutzer anlegen. Wenn du keine anonymen Statistiken mit dem Entwickler teilen möchtest, entferne außerdem den Haken. Klicke dann auf den „Create user“-Button.

Taiga auf Synology NAS einrichten: Portainer konfigurieren

Jetzt, wo du Portainer installiert hast und auf dem Benutzerinterface gelandet bist, geht es ans Feintuning. Klicke im nächsten Schritt auf den großen Wal mit den Containern an Bord – also „Get Started“. Damit sagst du Portainer, dass du die bereits vorhandene Docker-Installation auf deinem NAS verwalten möchtest.

Verbinde dich mit einem Klick auf den Wal einfach mit deinem Container Manager.
Verbinde dich mit einem Klick auf den Wal einfach mit deinem Container Manager.

Bevor du weitermachst, musst du noch die Docker-Umgebung aktualisieren. Klicke im neu aufscheinenden Eintrag auf den kleinen Bleistift, um die Einstellungen für die soeben hinzugefügte Umgebung aufzurufen.

Damit deine IP-Adresse korrekt an die ausgeführten Container weitervermittelt wird, musst du diese separat in Portainer eintragen.
Damit deine IP-Adresse korrekt an die ausgeführten Container weitervermittelt wird, musst du diese separat in Portainer eintragen.

Was erstmal kompliziert aussieht, verlangt lediglich nach der IP-Adresse deines NAS. Tippe im Feld „Public IP“ also die IP-Adresse deiner DiskStation ein und bestätige mit dem Button „Update environment“. Dieser Schritt ist notwendig, sodass du und weitere User im späteren Verlauf unseres Tutorials auch von außerhalb deines lokalen Netzwerks auf das Kanban-Tool zugreifen können. Wenn das geklappt hat, erhältst du im Dashboard eine neue Benachrichtigung, die bestätigt, dass die „Environment updated“ wurde.

Glückwunsch, jetzt hast du die grundlegende Docker-Konfiguration abgeschlossen und kannst dank deiner Vorbereitungen sämtliche Container aus den konfigurierten Quellen installieren. Wir beginnen aber noch nicht mit der Installation von Taiga, sondern müssen erst noch eine (etwas größere) Kleinigkeit erledigen.

Zertifikat und Reverse Proxy auf dem NAS einrichten

Im nächsten Schritt geht es um die Einrichtung eines sogenannten Wildcard-Zertifikats für dein NAS. Mit diesem ist dein Gerät dann beispielsweise über taiga.basic-tutorials.synology.me erreichbar. Damit du das Zertifikat und später das Kanban-Tool sinnvoll einsetzen kannst, benötigst du entweder eine Domain, die auf dein Synology NAS verweist (idealerweise mit einer fixen IP-Adresse) oder du nutzt den unkomplizierteren DDNS-Service von Synology selbst. Wir konzentrieren uns hier erst einmal auf Letzteren.

Synology DDNS-Service aktivieren

Beginne auch diesmal wieder in der Systemsteuerung. Rufe in der linken Menü-Spalte den Punkt „Externer Zugriff“ auf und wechsle oben in den Reiter „DDNS“. Je nachdem, welche Dienste du bereits auf deinem NAS eingerichtet hast, kann es vorkommen, dass DDNS bereits aktiv ist. Ist das nicht der Fall und die Liste ist leer, wähle den Hinzufügen-Button.

Wenn du über keine fixe IP-Adresse verfügst, nutze einfach den DDNS-DIenst von Synology.
Wenn du über keine fixe IP-Adresse verfügst, nutze einfach den DDNS-DIenst von Synology.

Jetzt kannst du dir im Feld „Hostname“ einen Namen für dein NAS aussuchen, unter welchem es vom WWW aus erreichbar ist. In unserem Fall wäre das beispielsweise basic-tutorials.synology.me. Alternativ kannst du auch eine andere Top-Domain auswählen, sollte dir synology.me nicht zusagen. Klicke dafür einfach auf das Dropdown-Menü.

In der Regel wird deine öffentliche IP-Adresse automatisch erkannt, sodass du die externen Adressen so belassen kannst. Setze außerdem einen Haken bei „Ein Zertifikat von Let’s Encrypt erhalten und als Standard festlegen“, sodass du automatisch ein Zertifikat für deine Webadresse erhältst. Außerdem kannst du Heartbeat aktivieren. Damit wird in regelmäßigen Abständen dein NAS angepingt und du erhältst sofort eine Nachricht, wenn dieses offline sein sollte.

Klicke abschließend auf „OK“ und melde dich zum Aktivieren des DDNS-Dienstes mit deinem Synology-Konto an. Verfügst du noch über keines, kannst du das direkt im Popup mit „Ein Synology-Konto erstellen“ nachholen. Gegebenenfalls musst du abschließend noch bestätigen, dass ein neues Standardzertifikat festgelegt wird – mit einem Klick auf den OK-Button.

Hinweis: Je nachdem, inwieweit du dein NAS bereits eingerichtet hast, kann es sein, dass du für eine ordnungsgemäße Funktion des DDNS-Dienstes vorher eine Portweiterleitung auf deinem Router definieren musst. Die Ports 80 und 443 müssen an die IP-Adresse deines NAS weitergeleitet werden. Hierfür ist es notwendig, das Webinterface deines Routers aufzurufen und dort die Ports sowie die Ziel-IP-Adresse einzutragen. Je nach Modell kann die Vorgehensweise hier variieren.

Der Webserver deiner DiskStation startet nun neu und du musst dich auch neu mit dem NAS verbinden. Rufe erneut die Systemsteuerung und DDNS-Einstellungen auf. Ist beim neu erstellten Eintrag der Status „Normal“, kannst du mit dem nächsten Schritt fortfahren.

Erreichbarkeit von überall: Reverse Proxy einrichten

Im nächsten Schritt solltest du einen sogenannten Reverse Proxy einrichten, der dafür sorgt, dass Anfragen, die vom Router an dein NAS geleitet werden (Portweiterleitung sei Dank), auch im gewünschten Container ankommen. So sparst du dir mühsame Weiterleitungen, wenn du beispielsweise mehrere Container im Docker nutzt oder sich Ports regelmäßig ändern.

Rufe dafür wieder einmal die Systemsteuerung auf deinem NAS auf, wechsle in den Abschnitt „Anmeldeportal“ und anschließend auf den Tab „Erweitert“. Klicke dort auf den Button „Reverse Proxy“ und auf die blaue Erstellen-Schaltfläche.

Wenn eine Anfrage von außerhalb deines LANs kommt, kann dein NAS mit Hilfe des Reverse Proxy direkt zuordnen, zu welchem Container die Anfrage geleitet werden soll.
Wenn eine Anfrage von außerhalb deines LANs kommt, kann dein NAS mit Hilfe des Reverse Proxy direkt zuordnen, zu welchem Container die Anfrage geleitet werden soll.

Vergib zuerst einen Namen für deine Reverse-Proxy-Regel (etwa Taiga), wähle bei Protokoll „HTTPS“ und überlege dir einen Hostnamen. Dieser setzt zum Beispiel wie folgend zusammen:

taiga.basic-tutorials.synology.me

Der erste Part bleibt deiner Fantasie überlassen, wobei du die Dinge aber beim Namen nennen solltest, vor allem, wenn du mehrere Container ausführst. Als Port nutze 443 – und damit auch unsichere Anfragen aus dem Web (HTTP) direkt auf HTTPS geleitet werden, setze noch einen Haken bei „HSTS aktivieren“.

Jetzt geht es um das Ziel, wohin deine Regel leiten soll. Wähle hier ebenfalls HTTPS. Trage außerdem localhost in das Hostname-Feld ein (weil du den Container auf demselben Gerät hostest) und wähle den Port 9002, bzw. einen Beliebigen, du musst nur später darauf achten, immer diesen zu verwenden. Bestätige deine Einstellungen abschließend mit OK. Deine Reverse-Proxy-Regel sollte nun aktiv sein und externe Anfragen direkt an deinen Taiga-Container leiten.

Neues Zertifikat zuweisen

Bevor du dich nun an die Installation wagst, fehl noch ein kritischer Punkt. Du musst noch das Standardzertifikat für den Synology-DDNS-Dienst gegen eines von Let’s Encrypt ersetzen. Wähle dafür den Abschnitt „Sicherheit“ in der Systemsteuerung deines NAS, klicke auf den Reiter „Zertifikat“ und anschließend in der Menüleiste auf „Hinzufügen“.

Klicke auf den Punkt „Vorhandenes Zertifikat ersetzen“, wähle deine synology.me Domain aus (in unserem Beispiel wäre das basic-tutorials.synology.me) und betätige den Weiter-Button. Entscheide dich dann für „Zertifikat von Let’s Encrypt abrufen“, setze einen Haken bei „Als Standardzertifikat festlegen“ und bestätige mit dem Weiter-Button.

Mit ein paar Klicks beantragst du direkt ein Zertifikat von Let's Encrypt und ersetzt damit das Standard-Zertifikat des Synology-DDNS-Dienstes.
Mit ein paar Klicks beantragst du direkt ein Zertifikat von Let’s Encrypt und ersetzt damit das Standard-Zertifikat des Synology-DDNS-Dienstes.

Gib im nächsten Schritt folgende an dein Szenario angepasste Daten ein:

Domainname deinedomain.synology.me
E-Mail Deine Mailadresse
Betreff Alternativer Name *.deinedomain.synology.me

Bestätige abschließend mit einem Klick auf den Fertig-Button und bring etwas Geduld mit. Die Zertifikatsausstellung dauert eine Weile.

Endlich: Taiga auf Synology einrichten und installieren

Du hast nun alle Vorbereitungen getroffen und es ist an der Zeit, mit der Installation von Taiga zu beginnen. Leider läuft auch dieser Prozess eher semi-automatisiert ab. Bevor du weitermachst, musst du erst einmal die Ordnerstruktur erstellen. Rufe die File Station auf, navigiere in den Ordner „docker“, erstelle dort ein neues Verzeichnis mit dem Namen „taiga“ und wechsle in dieses. Achte unbedingt darauf, dass du alle Ordnernamen kleinschreibst.

Erstelle anschließend die folgenden Unterordner: db, events, gateway, media, rabbitmq und static.

Da es sich bei Taiga um mehrere eigenständige Container handelt, musst du deren Verzeichnisse per Hand erstellen.
Da es sich bei Taiga um mehrere eigenständige Container handelt, musst du deren Verzeichnisse per Hand erstellen.

Für die ordnungsgemäße Installation benötigst du noch eine Konfigurationsdatei. Diese findest du direkt bei GitHub. Rufe die Seite auf, klicke im rechten oberen Bereich auf die drei Punkte und wähle „Download“.

Öffne die Datei in einem Texteditor deiner Wahl und ersetze die Punkte # Static, # Media und # Unprotected section durch folgende Werte:

# Static
location /static/ {
    alias /taiga-back/static/;
}

# Media
location /_protected/ {
    internal;
    alias /taiga-back/media/;
    add_header Content-disposition "attachment";
}

# Unprotected section
location /media/exports/ {
    alias /taiga-back/media/exports/;
    add_header Content-disposition "attachment";
}
Speichere deine Änderungen und kopiere diese Datei anschließend in den vorhin erstellten gateway-Ordner.
Damit Taiga während der Installation mit den korrekten Einstellungen gefüttert wird, kannst du die taiga.conf von GitHub nutzen. Änderungen in der Datei sind nicht notwendig.
Damit Taiga während der Installation mit den korrekten Einstellungen gefüttert wird, kannst du die taiga.conf von GitHub nutzen. Änderungen in der Datei sind nicht notwendig.

Rufe im nächsten Schritt das Portainer-Dashboard auf, klicke dort bei deiner lokalen Docker-Installation auf den Button „Live connect“ und wähle dann in der linken Menü-Spalte „Stacks“. Wähle dort den Button „Add stack“, vergib einen Namen (etwa Taiga) und füge dann folgenden Code in den leeren Bereich im Abschnitt „Web editor“ ein. Bedenke aber, die fett dargestellten Werte nach deinen eigenen Vorgaben anzupassen. Um sicherzugehen, kannst du abschließend noch nach dem Begriff „taigapass“ in der Datei suchen, sodass du gewiss alle Passwörter durch dein eigenes ersetzt hast.

Taiga-Konfigurationsdatei

version: '3.9'

services:
  taiga-db:
    image: postgres:13
    container_name: Taiga-DB
    hostname: taiga-db
    mem_limit: 1g
    cpu_shares: 768
    security_opt:
      - no-new-privileges:true
    user: 1026:100
    healthcheck:
      test: ["CMD", "pg_isready", "-q", "-d", "taiga", "-U", "taigauser"]
      interval: 10s
      timeout: 5s
      retries: 5
    volumes:
      - /volume1/docker/taiga/db:/var/lib/postgresql/data:rw
    environment:
      TZ: Europe/Berlin
      POSTGRES_DB: taiga
      POSTGRES_USER: taigauser
      POSTGRES_PASSWORD: taigapass
    restart: on-failure:5

  async-rabbitmq:
    image: rabbitmq:3.8-management-alpine
    container_name: Taiga-ASYNC-RABBITMQ
    hostname: taiga-async-rabbitmq
    mem_limit: 1g
    cpu_shares: 768
    security_opt:
      - no-new-privileges:true
    user: 1026:100
    healthcheck:
      test: rabbitmq-diagnostics -q ping
      interval: 30s
      timeout: 30s
      retries: 3
    volumes:
      - /volume1/docker/taiga/rabbitmq:/var/lib/rabbitmq:rw
    environment:
      RABBITMQ_ERLANG_COOKIE: secret-erlang-cookie
      RABBITMQ_DEFAULT_USER: taigauser
      RABBITMQ_DEFAULT_PASS: taigapass
      RABBITMQ_DEFAULT_VHOST: taiga
    restart: on-failure:5

  events-rabbitmq:
    image: rabbitmq:3.8-management-alpine
    container_name: Taiga-EVENTS-RABBITMQ
    hostname: taiga-events-rabbitmq
    mem_limit: 1g
    cpu_shares: 768
    security_opt:
      - no-new-privileges:true
    user: 1026:100
    healthcheck:
      test: rabbitmq-diagnostics -q ping
      interval: 30s
      timeout: 30s
      retries: 3
    volumes:
      - /volume1/docker/taiga/events:/var/lib/rabbitmq:rw
    environment:
      RABBITMQ_ERLANG_COOKIE: secret-erlang-cookie
      RABBITMQ_DEFAULT_USER: taigauser
      RABBITMQ_DEFAULT_PASS: taigapass
      RABBITMQ_DEFAULT_VHOST: taiga
    restart: on-failure:5

  taiga-events:
    image: taigaio/taiga-events:latest
    container_name: Taiga-EVENTS
    hostname: taiga-events
    mem_limit: 1g
    cpu_shares: 1024
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: wget --no-verbose --tries=1 --spider http://localhost:3023/healthz
    environment:
      RABBITMQ_USER: taigauser
      RABBITMQ_PASS: taigapass
      TAIGA_SECRET_KEY: "taiga-back-secret-key"
    restart: on-failure:5
    depends_on:
      events-rabbitmq:
        condition: service_healthy

  taiga-back:
    image: taigaio/taiga-back:latest
    container_name: Taiga-BACK
    hostname: taiga-back
    mem_limit: 1g
    cpu_shares: 1024
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: stat /etc/passwd || exit 1
    env_file:
      - stack.env
    environment:
      PUBLIC_REGISTER_ENABLED: true
      SESSION_COOKIE_SECURE: true
      CSRF_COOKIE_SECURE: true
    volumes:
      - /volume1/docker/taiga/static:/taiga-back/static:rw
      - /volume1/docker/taiga/media:/taiga-back/media:rw
    restart: on-failure:5
    depends_on:
      taiga-db:
        condition: service_healthy
      events-rabbitmq:
        condition: service_healthy
      async-rabbitmq:
        condition: service_healthy

  taiga-async:
    image: taigaio/taiga-back:latest
    entrypoint: ["/taiga-back/docker/async_entrypoint.sh"]
    container_name: Taiga-ASYNC
    hostname: taiga-async
    mem_limit: 1g
    cpu_shares: 1024
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: stat /etc/passwd || exit 1
    env_file:
      - stack.env
    volumes:
      - /volume1/docker/taiga/static:/taiga-back/static:rw
      - /volume1/docker/taiga/media:/taiga-back/media:rw
    restart: on-failure:5
    depends_on:
      taiga-db:
        condition: service_healthy
      taiga-back:
        condition: service_healthy
      async-rabbitmq:
        condition: service_healthy

  taiga-protected:
    image: taigaio/taiga-protected:latest
    container_name: Taiga-PROTECTED
    hostname: taiga-protected
    mem_limit: 512m
    cpu_shares: 1024
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: stat /etc/passwd || exit 1
    environment:
      MAX_AGE: 360
      SECRET_KEY: "taiga-back-secret-key"
    restart: on-failure:5

  taiga-front:
    image: taigaio/taiga-front:latest
    container_name: Taiga-FRONT
    hostname: taiga-front
    mem_limit: 512m
    cpu_shares: 1024
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: wget --no-verbose --tries=1 --spider http://localhost:80/
    environment:
      TAIGA_URL: https://taiga.basic-tutorials.synology.me
      TAIGA_WEBSOCKETS_URL: wss://taiga.basic-tutorials.synology.me
      TAIGA_SUBPATH: ""
      PUBLIC_REGISTER_ENABLED: "true"
    restart: on-failure:5

  taiga-gateway:
    image: nginx:1.19-alpine
    container_name: Taiga-GATEWAY
    hostname: taiga-gateway
    mem_limit: 512m
    cpu_shares: 1024
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: wget --no-verbose --tries=1 --spider http://localhost:80/
    ports:
      - 9002:80
    volumes:
      - /volume1/docker/taiga/gateway/taiga.conf:/etc/nginx/conf.d/default.conf:ro
      - /volume1/docker/taiga/static:/taiga-back/static:rw
      - /volume1/docker/taiga/media:/taiga-back/media:rw
    restart: on-failure:5
    depends_on:
      taiga-front:
        condition: service_healthy
      taiga-back:
        condition: service_healthy
      taiga-events:
        condition: service_healthy

Die eigene User-ID herausfinden

Du hast dich vielleicht schon gefragt, wie du den Wert „1026:100“ in deinen eigenen ändern solltest. Hier benötigst du ein weiteres kleines Skript, das dir deine User-ID und Gruppen-ID per Mail sendet. Rufe die Systemsteuerung und den Abschnitt „Aufgabenplaner“ auf und erstelle eine geplante Aufgabe. Wähle „Benutzerdefiniertes Skript“, vergib einen Namen (etwa Meine ID abrufen) und lege bei „Zeitplan“ den Punkt „Am folgenden Datum ausführen“ fest. Wechsle anschließend in die Aufgabeneinstellungen, aktiviere „Ausführungsdetails per E-Mail senden“, tippe deine E-Mail-Adresse ein und füge folgenden Code im Skript-Feld ein:

id

Achte darauf, dass du den Befehl kleinschreibst und bestätige mit „OK“. Wähle anschließend die eben erstellte Aufgabe aus der Liste aus, klicke auf den Ausführen-Button und segne den Vorgang mit einem weiteren „OK“ ab. In Kürze sollte eine Mail mit deiner UID und GID eintreffen.

Ein simples id gibt dir deine Benutzer-ID und Gruppen-ID aus. Das Ergebnis landet direkt in deinem E-Mail-Postfach. Alternativ könntest du den Befehl auch per SSH-Konsole eintippen, doch deren Einrichtung ist eine andere Geschichte.
Ein simples id gibt dir deine Benutzer-ID und Gruppen-ID aus. Das Ergebnis landet direkt in deinem E-Mail-Postfach. Alternativ könntest du den Befehl auch per SSH-Konsole eintippen, doch deren Einrichtung ist eine andere Geschichte.

Jetzt, wo du die beiden Variablen weißt, kannst du diese in der Taiga-Konfigurationsdatei abändern. Zwar ist es unwahrscheinlich, dass jemand auf deine interne Konfiguration zugreift, aber um auf Nummer sicher zu gehen, solltest du außerdem die Standardpasswörter ändern und das taigapass sowie den taiga-back-secret-key durch dein eigenes, sicheres Kennwort ersetzen. Ist die Konfiguration fertig angepasst, kannst du als nächstes die Umgebungsvariablen festlegen.

Taiga auf Synology NAS einrichten: Umgebungsvariablen festlegen

Last but not least ist es notwendig, dass du dem Taiga-Container einige Umgebungsvariablen mit an die Hand gibst. Dabei handelt es sich um Werte, die Docker direkt, also auch ohne Konfigurationsdatei oder Ähnlichem, direkt abrufen kann. Erstelle hierfür im Abschnitt „Environment variables“ eine neue Variable mit dem Button „Add an environment variable“. Wiederhole den Vorgang dann für alle 11 Einträge:

Name Wert
POSTGRES_DB taiga
POSTGRES_USER taigauser
POSTGRES_PASSWORD taigapass
TAIGA_SECRET_KEY taiga-back-secret-key
TAIGA_SITES_SCHEME https
TAIGA_SITES_DOMAIN taiga.basic-tutorials.synology.me
TAIGA_SUBPATH
RABBITMQ_USER taigauser
RABBITMQ_PASS taigapass
ENABLE_TELEMETRY False
PUBLIC_REGISTER_ENABLED True
Hinweis: die Variable PUBLIC_REGISTER_ENABLED ist optional und würde, wenn du sie auf „True“ setzt, die Registrierung für alle User aus dem WWW erlauben. Sprich, sobald jemand deine Adresse kennt, kann dieser sich registrieren und deine Projekte einsehen. Im Gegenzug ist es dafür nicht notwendig, selbst alle User händisch zu erstellen.

Hast du alle Variablen eingetragen, kannst du mit einem Klick auf „Deploy the stack“ die Installation von Taiga und allen dazugehörenden Diensten starten. Das kann gerne etwas Zeit in Anspruch nehmen. Hat alles geklappt, erhältst du rechts oben eine Benachrichtigung und ein ganzes Package an neuen Containern befindet sich in deinem Docker.

Prüfe nochmal die Umgebungsvariablen. Danach kann es losgehen. Die Installation dauert eine Weile.
Prüfe nochmal die Umgebungsvariablen. Danach kann es losgehen. Die Installation dauert eine Weile.
Hinweis: Wenn du eine Firewall auf deinem Synology NAS nutzt, kann es vorkommen, dass einer oder mehrere Container nicht korrekt installiert werden. Es empfiehlt sich in diesem Fall, entweder die Firewall für die Installation von Taiga temporär zu deaktivieren oder die Ports 80, 443 und 9002 (je nachdem, welche du gewählt hast) freizugeben. Sollte die Installation fehlschlagen, lösche die Inhalte der 6 Taiga-Ordner, die du zuvor erstellt hast – mit Ausnahme der taiga.conf-Datei, und beginne das Deployment erneut.

Willkommen in der Taiga: Erstellung eines Admin-Accounts

Setze deine Reise fort, indem du zuerst einen Administrator-Account für Taiga erstellst. Wechsle im Portainer-Webinterface zu den „Containers“, lokalisiere den Container „Taiga-BACK“ und klicke dort in der Quick-Actions-Spalte auf das Konsolen-Icon (mit dem Pfeil und dem Underscore).

Ein kurzer Ausflug in die Konsole des Taiga-BACK-Containers ermöglicht dir die Erstellung eines Admin-Zuganges.
Ein kurzer Ausflug in die Konsole des Taiga-BACK-Containers ermöglicht dir die Erstellung eines Admin-Zuganges.

Klicke anschließend auf „Connect“, um eine Konsolensitzung mit diesem Container zu beginnen. Gib dort dann folgenden Befehl ein und bestätige mit der Eingabetaste.

python manage.py createsuperuser

Das Skript fragt dich jetzt nach deinem gewünschten Admin-Benutzernamen, deiner E-Mail-Adresse sowie einem Passwort. Bestätige deine Eingaben jeweils mit der Eingabetaste.

Theoretisch können sich jetzt bereits Nutzer aus dem World Wide Web bei deinem Taiga registrieren. Allerdings ist dein Container aktuell nur von externen Quellen erreichbar. Ein Zugriff aus dem lokalen Netzwerk ist noch nicht eingerichtet. Da nicht alle Router die NAT-Loopback-Funktion unterstützen, bedienen wir uns eines kleinen Workarounds. Einmal eingerichtet, musst du keine weiteren Änderungen mehr durchführen.

Anpassung der Hosts-Datei

Rufe auf dem Gerät, mit dem du auf Taiga intern zugreifen möchtest, den Windows Explorer auf und navigiere nach:

C:\Windows\System32\drivers\etc\

Ziehe dir dort die Datei „hosts“ auf deinen Desktop (oder einen anderen Ordner mit ausreichend Rechten) und öffne diese mit einem Texteditor deiner Wahl. Füge nun in eine neue Zeile an erster Stelle die IP-Adresse deines NAS ein und nach einem [LEERZEICHEN] die externe Adresse, welche auf deine Taiga-Installation verweist.

Mit einer Art Windows-Rufumleitung legst du fest, dass die externe Adresse auf die interne NAS-IP geleitet wird.
Mit einer Art Windows-Rufumleitung legst du fest, dass die externe Adresse auf die interne NAS-IP geleitet wird.

Verschiebe oder kopiere die hosts-Datei dann wieder zurück an ihren Ursprung und bestätige mit „Fortsetzen“, dass du die alte Datei überschreiben möchtest. Jetzt solltest du auch intern auf dein Taiga-Interface zugreifen können und nach Lust und Laune deine Einstellungen (z. B. Sprache) ändern und Projekte erstellen.

Zwar wirst du bestimmt noch Einiges konfigurieren wollen, aber die Installation von Taiga hast du erfolgreich abgeschlossen.
Zwar wirst du bestimmt noch Einiges konfigurieren wollen, aber die Installation von Taiga hast du erfolgreich abgeschlossen.

Simon Lüthje

Ich bin der Gründer dieses Blogs und interessiere mich für alles was mit Technik zu tun hat, bin jedoch auch dem Zocken nicht abgeneigt. Geboren wurde ich in Hamburg, wohne nun jedoch in Bad Segeberg.

Ähnliche Artikel

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Schaltfläche "Zurück zum Anfang"