Server-Deployment: Sicherheit und Linux-Kompatibilität

- .env aus Repository entfernt (Sicherheit: Secrets nicht im Repo)
- .env.example ohne echte Secrets hinzugefügt
- .gitignore erstellt (ignoriert .env, data/, logs/, backups/, uploads/)
- docker-compose.yml für Linux angepasst:
  - Port 3001 (3000 belegt durch Gitea)
  - Windows-Mounts entfernt
  - Nur localhost-Binding (Zugriff über Nginx)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Dieser Commit ist enthalten in:
Server Deploy
2025-12-29 21:14:24 +00:00
Ursprung ad7432c833
Commit 87c391d2e6
3 geänderte Dateien mit 49 neuen und 15 gelöschten Zeilen

Datei anzeigen

@ -1,16 +1,23 @@
# ============================================================================= # =============================================================================
# TASKMATE - Umgebungsvariablen # TASKMATE - Umgebungsvariablen (Beispiel)
# =============================================================================
# Kopieren Sie diese Datei nach .env und passen Sie die Werte an:
# cp .env.example .env
#
# WICHTIG: Generieren Sie sichere Passwörter mit:
# openssl rand -base64 32
# ============================================================================= # =============================================================================
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# SERVER # SERVER
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
PORT=3000 PORT=3001
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# SICHERHEIT # SICHERHEIT
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
JWT_SECRET=c0c02ffaa6209fac125d90c3c69025abb0bc08b8d8d333b71ccf1c6e875a004e # JWT Secret - MUSS geändert werden! Generieren mit: openssl rand -hex 32
JWT_SECRET=HIER_SICHEREN_WERT_GENERIEREN
# Session-Timeout in Minuten (automatischer Logout bei Inaktivität) # Session-Timeout in Minuten (automatischer Logout bei Inaktivität)
SESSION_TIMEOUT=30 SESSION_TIMEOUT=30
@ -36,18 +43,19 @@ BACKUP_INTERVAL_HOURS=24
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# BENUTZER (werden beim ersten Start angelegt) # BENUTZER (werden beim ersten Start angelegt)
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
USER1_USERNAME=HG USER1_USERNAME=user1
USER1_PASSWORD=Hzfne313!fdEF34 USER1_PASSWORD=SICHERES_PASSWORT_HIER
USER1_DISPLAYNAME=User 1 USER1_DISPLAYNAME=Benutzer 1
USER1_COLOR=#00D4FF USER1_COLOR=#00D4FF
USER2_USERNAME=MH USER2_USERNAME=user2
USER2_PASSWORD=SICHERES_PASSWORT_HIER USER2_PASSWORD=SICHERES_PASSWORT_HIER
USER2_DISPLAYNAME=User 2 USER2_DISPLAYNAME=Benutzer 2
USER2_COLOR=#FF9500 USER2_COLOR=#FF9500
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# GITEA-INTEGRATION # GITEA-INTEGRATION (optional)
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
GITEA_URL=https://gitea-undso.aegis-sight.de GITEA_URL=https://gitea-undso.aegis-sight.de
GITEA_TOKEN=8d76ec66b3e1f02e9b1e4848d8b15e0cdffe48df GITEA_TOKEN=GITEA_ACCESS_TOKEN_HIER
GITEA_ORG=AegisSight

30
.gitignore vendored Normale Datei
Datei anzeigen

@ -0,0 +1,30 @@
# Umgebungsvariablen (enthält Secrets)
.env
# Datenbank und Daten
data/
*.sqlite
*.db
# Logs
logs/
*.log
# Backups
backups/
# Uploads
uploads/
# Node.js
node_modules/
# OS-spezifisch
.DS_Store
Thumbs.db
# IDE
.vscode/
.idea/
*.swp
*.swo

Datei anzeigen

@ -4,16 +4,12 @@ services:
container_name: taskmate container_name: taskmate
restart: unless-stopped restart: unless-stopped
ports: ports:
- "${PORT:-3000}:3000" - "127.0.0.1:${PORT:-3001}:3000" # Nur localhost, Zugriff über Nginx
volumes: volumes:
- ./data:/app/data - ./data:/app/data
- ./backups:/app/backups - ./backups:/app/backups
- ./logs:/app/logs - ./logs:/app/logs
- ./uploads:/app/uploads - ./uploads:/app/uploads
# Laufwerke für Git-Repositories (bei Bedarf weitere hinzufügen)
- C:/:/mnt/c
# - D:/:/mnt/d # Deaktiviert - Laufwerk nicht verfügbar
# - E:/:/mnt/e # Deaktiviert - Laufwerk nicht verfügbar
environment: environment:
- NODE_ENV=production - NODE_ENV=production
- JWT_SECRET=${JWT_SECRET} - JWT_SECRET=${JWT_SECRET}