Clone
1
Deployment
MrDiderot edited this page 2026-04-14 12:58:15 +02:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Deployment

Voraussetzungen

  • Docker + Docker Compose installiert
  • Git-Zugang zum Repository
  • .env-Datei konfiguriert (siehe Umgebungsvariablen)

Erstinstallation

git clone https://git.mischlabs.de/MrDiderot/Michess.git
cd Michess
cp .env.example .env
# .env anpassen (Passwörter, URLs, ADMIN_EMAIL)
docker compose up -d --build

Frontend: http://<server-ip>:3000 API: http://<server-ip>:3001

Update auf dem NAS

docker run --rm -v /volume2/docker/michess:/work -w /work alpine/git fetch origin main && \
docker run --rm -v /volume2/docker/michess:/work -w /work alpine/git reset --hard FETCH_HEAD && \
cd /volume2/docker/michess && docker compose up --build -d michess

Warum fetch + reset statt pull? reset --hard origin/main nutzt den lokalen gecachten Ref. Mit fetch zuerst wird FETCH_HEAD auf den neuesten Stand gebracht, sodass reset --hard FETCH_HEAD garantiert den aktuellen Stand vom Remote benutzt.

Umgebungsvariablen

Variable Beschreibung Beispiel
POSTGRES_DB Datenbankname michess
POSTGRES_USER DB-Nutzer michess
POSTGRES_PASSWORD DB-Passwort sicheres Passwort
SESSION_SECRET Session-Schlüssel (min. 32 Zeichen) zufälliger String
CORS_ORIGIN Frontend-URL (für CORS) http://nas-ip:3000
ADMIN_EMAIL E-Mail-Adresse bekommt Admin-Rechte admin@example.com
NEXT_PUBLIC_APP_URL Frontend-URL (für Einladungslinks) http://nas-ip:3000
NEXT_PUBLIC_API_URL API-URL (im Next.js Build eingebaut) http://nas-ip:3001
MICHESS_PORT Frontend-Port 3000
MICHESS_API_PORT API-Port 3001

Admin-Rolle einrichten

  1. ADMIN_EMAIL in .env auf die gewünschte E-Mail setzen
  2. Container neustarten der Server setzt die Rolle automatisch
  3. Mit diesem Account ausloggen und neu einloggen

Docker-Dienste

Dienst Image Funktion
michess Eigener Build Frontend + Backend
db postgres:16-alpine Datenbank