Self-Hosting
Taktify läuft als Docker-Compose-Stack aus einem Container und einer MariaDB-Datenbank. Sie brauchen eine öffentliche HTTPS-Adresse und ein SMTP-Konto; die Software steht unter der MIT-Lizenz und ist kostenlos.
Voraussetzungen
Kurz gesagt: Docker Compose, MariaDB 10.6+ oder MySQL 8, eine öffentliche HTTPS-Adresse, SMTP. Im Einzelnen brauchen Sie:
Docker mit dem Compose-Plugin.
Eine öffentliche HTTPS-Adresse vor dem Container, etwa über einen Reverse Proxy wie Caddy, Traefik oder nginx, der TLS beendet. Instagram, TikTok und OIDC rufen Ihre Instanz über das Internet zurück, und signierte Medien-Links müssen von außen erreichbar sein.
Ein SMTP-Konto. Neue Konten bestätigen ihre E-Mail-Adresse, bevor sie eine Organisation anlegen können, und Einladungen, Freigabeanfragen und Fehlermeldungen gehen per E-Mail hinaus.
Taktify läuft als ein einziger Container (API, Oberfläche und Hintergrund-Worker in einem Prozess) plus einer MariaDB-Datenbank. Die Datei compose.yaml im Repository startet beide.
Erster Start
Kopieren Sie
.env.examplenach.envund tragen Sie mindestensDB_PASSWORD,DB_ROOT_PASSWORD,Taktify__PublicBaseUrlund dieTaktify__Smtp__*-Werte ein.Starten Sie den Stack.
Prüfen Sie den Health-Endpunkt. Das Datenbankschema wird beim ersten Start automatisch angelegt.
Richten Sie den Reverse Proxy auf Port 8080 (oder
TAKTIFY_PORT) und öffnen Sie die öffentliche Adresse. Registrieren Sie das erste Konto, bestätigen Sie die E-Mail-Adresse und legen Sie die erste Organisation an. Wer sie anlegt, wird ihr Admin.
cp .env.example .env
docker compose up -d --build
Der Health-Endpunkt antwortet mit {"status":"ok"}:
curl http://localhost:8080/api/health
Konfiguration
Jede Einstellung lässt sich als Umgebungsvariable in .env setzen. Dabei ersetzt __ den Doppelpunkt: aus Taktify:Smtp:Host wird Taktify__Smtp__Host, Listeneinträge bekommen einen Index wie Taktify__IdentityProviders__0__Issuer.
Taktify__PublicBaseUrl=https://taktify.example.org
Taktify__ForwardedHeaders__KnownNetworks__0=172.16.0.0/12
Taktify__Smtp__Host=smtp.example.org
Taktify__Smtp__Port=587
Taktify__Smtp__User=taktify@example.org
Taktify__Smtp__Password=change-me
Taktify__Smtp__From=Taktify <taktify@example.org>
Taktify__Smtp__UseStartTls=true
Taktify__PublicBaseUrlmuss exakt die öffentliche HTTPS-Adresse sein, ohne abschließenden Schrägstrich.Taktify__ForwardedHeaders__KnownNetworks__0muss das Netz enthalten, aus dem der Reverse Proxy zugreift. Sonst erkennt Taktify weder Client-IPs noch das HTTPS-Schema. Der Beispielwert deckt die Standard-Bridge-Netze von Docker ab.Lassen Sie
Taktify__Platforms__Fake__EnabledundTaktify__Ai__EnableFakeungesetzt: Außerhalb der Entwicklung werden die Test-Plattform und der Test-KI-Connector abgelehnt.Registrieren Sie die OAuth-Redirect-URIs bei Meta, TikTok und Ihrem OIDC-Anbieter. Die Pfade hängen an Ihre
PublicBaseUrlan:
<PublicBaseUrl>/api/channels/oauth/instagram/callback
<PublicBaseUrl>/api/channels/oauth/tiktok/callback
<PublicBaseUrl>/api/auth/oidc/callback
Datensicherung
Sichern Sie drei Volumes zusammen:
db-data: das MariaDB-Datenverzeichnis.media: hochgeladene und erzeugte Mediendateien.keys: die ASP.NET-Data-Protection-Schlüssel.
Achtung: Die Schlüssel verschlüsseln gespeicherte OAuth-Tokens, Client-Secrets und KI-Schlüssel und signieren Sitzungen. Gehen sie verloren, sind alle gespeicherten Geheimnisse unlesbar (Kanäle und Connectoren müssen neu verbunden werden) und alle werden abgemeldet. Sichern Sie die Schlüssel deshalb immer zusammen mit der Datenbank.
Die Datenbank sichern Sie mit einem Dump:
docker compose exec db mariadb-dump -u root -p"$DB_ROOT_PASSWORD" taktify > taktify.sql
Updates
Holen Sie die neue Version aus dem Repository und bauen Sie den Stack neu. Migrationen laufen beim Start. Der Container fährt innerhalb von 75 Sekunden geordnet herunter, sodass laufende Veröffentlichungen ihren Fortschritt behalten.
git pull
docker compose up -d --build
Skalierung
Taktify führt API und Worker in einem Prozess aus (Taktify__Roles__Api und Taktify__Roles__Worker, beide standardmäßig aktiv). Mehrere Replikas brauchen gemeinsame Volumes für media und keys und sind noch nicht getestet.
Lizenz
Taktify steht unter der MIT-Lizenz. Sie dürfen es frei betreiben, anpassen und weitergeben.