Installation
Diese Anleitung führt dich durch die Bereitstellung von solyto auf deinem eigenen Server mit Docker.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“Bevor du beginnst, stelle sicher, dass du Folgendes hast:
- Einen Server (VPS, dediziert oder Heimserver) mit mindestens 2 GB RAM und 10 GB Speicherplatz
- Docker und Docker Compose installiert
- Drei Domainnamen (oder Subdomains), die auf die IP-Adresse deines Servers zeigen:
app.example.com— das Frontendapi.example.com— die APIdav.example.com— CalDAV/CardDAV
- Eine gültige E-Mail-Adresse für Let’s-Encrypt-TLS-Zertifikate
- Die Ports 80 und 443 offen in deiner Firewall
DNS-Einrichtung
Abschnitt betitelt „DNS-Einrichtung“Richte deine drei Domainnamen auf die öffentliche IP-Adresse deines Servers:
app.example.com A your.server.ipapi.example.com A your.server.ipdav.example.com A your.server.ipWarte, bis sich die DNS-Änderungen verbreitet haben, bevor du fortfährst (in der Regel wenige Minuten, bis zu 24 Stunden).
Ein-Schritt-Installation
Abschnitt betitelt „Ein-Schritt-Installation“Der schnellste Weg, solyto zu installieren, ist das Setup-Skript:
curl -fsSL "https://raw.githubusercontent.com/solyto/selfhosted/main/setup.sh?$(date +%s)" | bashDas Setup-Skript wird:
- Das Selfhosted-Repository klonen
- Erforderliche Verzeichnisse anlegen (
storage/,bootstrap/cache/usw.) - Dich interaktiv nach Folgendem fragen:
- API_DOMAIN — z. B.
api.example.com - APP_DOMAIN — z. B.
app.example.com - DAV_DOMAIN — z. B.
dav.example.com - ACME_EMAIL — deine E-Mail-Adresse für Let’s Encrypt
- API_DOMAIN — z. B.
- Alle erforderlichen Secrets erzeugen (Datenbankpasswörter, App-Key usw.)
- Alles in
.envund./secrets/schreiben
Sobald das Skript fertig ist, starte die Dienste:
cd selfhosteddocker compose up -dManuelle Installation
Abschnitt betitelt „Manuelle Installation“Falls du alles manuell erledigen möchtest:
1. Repository klonen
Abschnitt betitelt „1. Repository klonen“git clone https://github.com/solyto/selfhosted.gitcd selfhosted2. Verzeichnisse anlegen
Abschnitt betitelt „2. Verzeichnisse anlegen“mkdir -p storage/app/publicmkdir -p storage/framework/cachemkdir -p storage/framework/sessionsmkdir -p storage/framework/viewsmkdir -p storage/logsmkdir -p bootstrap/cachechown -R www-data:www-data storage/3. Umgebung konfigurieren
Abschnitt betitelt „3. Umgebung konfigurieren“Kopiere die Beispiel-Umgebungsdatei und bearbeite sie:
cp .env.example .envBearbeite .env mit deinen Domainnamen, deiner Zeitzone und deinen Einstellungen. Alle verfügbaren Optionen findest du unter Konfiguration.
4. Secrets erzeugen
Abschnitt betitelt „4. Secrets erzeugen“Erstelle das Verzeichnis ./secrets/ und erzeuge die erforderlichen Secret-Dateien:
mkdir -p secrets
# Anwendungsschlüsselecho "base64:$(openssl rand -base64 32)" > secrets/app_key
# MariaDBecho "solyto" > secrets/db_useropenssl rand -hex 32 > secrets/db_passwordecho "solyto" > secrets/mariadb_useropenssl rand -hex 32 > secrets/mariadb_passwordopenssl rand -hex 32 > secrets/mariadb_root_password
# PostgreSQL (DAV)echo "solyto_dav" > secrets/dav_db_useropenssl rand -hex 32 > secrets/dav_db_passwordopenssl rand -hex 32 > secrets/postgres_root_password
# Optionale Secrets (leere Dateien erstellen)touch secrets/solyto_bot_webhook_tokentouch secrets/solyto_bot_telegram_tokentouch secrets/hardcover_api_keytouch secrets/ai_api_keytouch secrets/mailgun_secrettouch secrets/vapid_public_keytouch secrets/vapid_private_keytouch secrets/bgg_api_keytouch secrets/tmdb_access_tokentouch secrets/imgproxy_keytouch secrets/imgproxy_saltDetails zu jedem Secret findest du unter Docker Secrets.
5. Dienste starten
Abschnitt betitelt „5. Dienste starten“docker compose up -dInstallation überprüfen
Abschnitt betitelt „Installation überprüfen“Container-Status prüfen
Abschnitt betitelt „Container-Status prüfen“docker compose psAlle Dienste sollten den Status Up oder Up (healthy) anzeigen.
API-Health-Endpunkt prüfen
Abschnitt betitelt „API-Health-Endpunkt prüfen“curl -s https://api.example.com/api/v1/healthEine erfolgreiche Antwort bedeutet, dass die API läuft und mit der Datenbank verbunden ist.
Auf die App zugreifen
Abschnitt betitelt „Auf die App zugreifen“Öffne https://app.example.com in deinem Browser. Du solltest die Login-Seite von solyto sehen.
Deinen ersten Benutzer erstellen
Abschnitt betitelt „Deinen ersten Benutzer erstellen“Die Registrierungsseite ist unter https://app.example.com/auth/register verfügbar — erstelle dein Konto mit Anzeigename, E-Mail-Adresse und einem Passwort (mindestens 12 Zeichen).
Alternativ kannst du einen Benutzer über die Kommandozeile erstellen:
docker exec -it <project>-api so users:createErsetze <project> durch deinen PROJECT_NAME (Standard solyto). Falls du den Projektnamen geändert hast, passe den Containernamen entsprechend an.
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“- Konfiguration — feintunen deiner Umgebungsvariablen
- Docker Secrets — optionale Integrationen einrichten
- Aktualisieren — solyto aktuell halten
Video-Anleitung
Abschnitt betitelt „Video-Anleitung“Ein Schritt-für-Schritt-Video zum Installationsprozess ist in Arbeit und wird hier eingebettet.