128 lines
3.4 KiB
Markdown
128 lines
3.4 KiB
Markdown
# Chroniken der Leere - Gothic II Modifikation Website
|
|
|
|
Offizielle Website für die Gothic II Modifikation **"Chroniken der Leere"** mit düsterer Low-Fantasy und Cosmic-Horror-Ästhetik sowie integriertem Online-CMS zur einfacheren Inhaltspflege ohne Code-Anpassungen.
|
|
|
|
---
|
|
|
|
## 🚀 Schnellstart mit Docker Compose
|
|
|
|
Die Anwendung ist als produktionsbereiter Docker-Stack konfiguriert. Alle Inhaltsänderungen, die du über das Online-CMS vornimmst, werden automatisch in `cms-data.json` gesichert und über den Volume-Mount auch bei Container-Neustarts dauerhaft gespeichert.
|
|
|
|
### 1. Repository klonen & Container starten
|
|
```bash
|
|
git clone <dein-repo-url>
|
|
cd <repo-ordner>
|
|
|
|
# Stack im Hintergrund starten
|
|
docker compose up -d --build
|
|
```
|
|
|
|
Die Website ist danach im Browser unter `http://localhost:3000` erreichbar!
|
|
|
|
### 2. Container stoppen
|
|
```bash
|
|
docker compose down
|
|
```
|
|
|
|
---
|
|
|
|
## 📄 Docker Konfigurationsdateien (Quellcode)
|
|
|
|
Falls die Datei `Dockerfile` in deiner Web-Entwicklungsumgebung oder beim Export ausgeblendet wird, kannst du die Konfigurationen direkt aus diesem Abschnitt verwenden:
|
|
|
|
### `Dockerfile`
|
|
```dockerfile
|
|
# Multi-Stage Dockerfile for Gothic II Mod Website
|
|
FROM node:20-alpine AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
# Install dependencies first for better Docker layer caching
|
|
COPY package*.json ./
|
|
RUN npm install
|
|
|
|
# Copy source code and build the production bundle
|
|
COPY . .
|
|
RUN npm run build
|
|
|
|
# Production Runner Stage
|
|
FROM node:20-alpine AS runner
|
|
|
|
WORKDIR /app
|
|
|
|
ENV NODE_ENV=production
|
|
ENV PORT=3000
|
|
|
|
# Install production dependencies only
|
|
COPY package*.json ./
|
|
RUN npm install --omit=dev
|
|
|
|
# Copy built dist files and default cms data from builder
|
|
COPY --from=builder /app/dist ./dist
|
|
COPY --from=builder /app/src/data ./src/data
|
|
COPY --from=builder /app/cms-data.json ./cms-data.json
|
|
|
|
EXPOSE 3000
|
|
|
|
CMD ["node", "dist/server.cjs"]
|
|
```
|
|
|
|
### `docker-compose.yml`
|
|
```yaml
|
|
version: '3.8'
|
|
|
|
services:
|
|
gothic2-mod-website:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: gothic2_chroniken_leere
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
- NODE_ENV=production
|
|
- PORT=3000
|
|
volumes:
|
|
# Mount cms-data.json to persist content changes made via the online CMS portal
|
|
- ./cms-data.json:/app/cms-data.json
|
|
restart: unless-stopped
|
|
```
|
|
|
|
---
|
|
|
|
## 🔐 Modder Online-CMS Portal
|
|
|
|
Du kannst alle Texte, Screenshots, News-Beiträge und Fortschritts-Balken direkt im Browser verwalten:
|
|
|
|
1. Klicke oben rechts auf **"Modder Login"** (oder unten im Footer).
|
|
2. Gib das Standard-Passwort ein: `gothic2026`
|
|
3. Ändere beliebige Inhalte & klicke auf **"Änderungen Live Speichern"**.
|
|
4. Über das Dashboard kannst du deine Inhalte auch als **JSON exportieren & sichern**.
|
|
|
|
### 🔑 Passwort ändern (2 Wege):
|
|
|
|
* **Weg 1 (Im Browser über das CMS):**
|
|
Logge dich im CMS ein, gehe in der Sidebar auf den Reiter **"Allgemein & Hero"** und scrolle nach unten zum Feld **"CMS Passwort / Zugangs-PIN"**. Trage dort dein neues Passwort ein und klicke unten auf **"Änderungen Live Speichern"**.
|
|
* **Weg 2 (Direkt in der Datei):**
|
|
Öffne die Datei `cms-data.json` im Projektverzeichnis und passe den Wert von `"adminPin"` an:
|
|
```json
|
|
"adminPin": "dein_neues_passwort"
|
|
```
|
|
Beim nächsten Speichern oder Server-Neustart ist das neue Passwort aktiv.
|
|
|
|
---
|
|
|
|
## 🛠️ Lokale Entwicklung ohne Docker
|
|
|
|
```bash
|
|
# Abhängigkeiten installieren
|
|
npm install
|
|
|
|
# Entwicklungs-Server starten
|
|
npm run dev
|
|
|
|
# Produktions-Build testen
|
|
npm run build
|
|
npm start
|
|
```
|
|
|