docs: add wiki page
60
Deployment.md
Normal file
60
Deployment.md
Normal file
@@ -0,0 +1,60 @@
|
||||
# Deployment
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
- Docker + Docker Compose installiert
|
||||
- Git-Zugang zum Repository
|
||||
- `.env`-Datei konfiguriert (siehe [[Umgebungsvariablen]])
|
||||
|
||||
## Erstinstallation
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
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 |
|
||||
|
||||
Reference in New Issue
Block a user