d49cbe33b3
- Vollständige Verzeichnisstruktur gemäß CLAUDE.md - Express-Server mit Helmet, Sessions, Rate Limiting, SPA-Fallback - SQLite-Schema (Migration v1): 10 Tabellen, updated_at-Triggers, Indizes - Versioniertes Migrations-System (schema_migrations) - Auth-Routen: Login, Logout, /me, Admin-User-CRUD - Frontend App-Shell: SPA-Router, API-Client, Design-System (CSS Tokens) - PWA: Service Worker, Web App Manifest - Setup-Script für ersten Admin-User (node setup.js) - DB-Tests mit node:sqlite built-in: 29/29 bestanden - Docker Compose + Dockerfile + Nginx-Beispielkonfiguration Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
35 lines
832 B
Bash
35 lines
832 B
Bash
# Oikos — Umgebungsvariablen
|
|
# Kopiere diese Datei nach .env und passe die Werte an.
|
|
|
|
# Server
|
|
PORT=3000
|
|
NODE_ENV=production
|
|
|
|
# Session
|
|
SESSION_SECRET=HIER_EINEN_LANGEN_ZUFAELLIGEN_STRING_EINTRAGEN
|
|
|
|
# Datenbank (SQLite/SQLCipher)
|
|
DB_PATH=/data/oikos.db
|
|
DB_ENCRYPTION_KEY=HIER_EINEN_STARKEN_VERSCHLUESSELUNGSSCHLUESSEL_EINTRAGEN
|
|
|
|
# Wetter (OpenWeatherMap)
|
|
OPENWEATHER_API_KEY=DEIN_API_KEY
|
|
OPENWEATHER_CITY=Berlin
|
|
OPENWEATHER_UNITS=metric
|
|
OPENWEATHER_LANG=de
|
|
|
|
# Google Calendar (optional)
|
|
GOOGLE_CLIENT_ID=
|
|
GOOGLE_CLIENT_SECRET=
|
|
GOOGLE_REDIRECT_URI=https://deine-domain.de/api/v1/calendar/google/callback
|
|
|
|
# Apple Calendar CalDAV (optional)
|
|
APPLE_CALDAV_URL=https://caldav.icloud.com
|
|
APPLE_USERNAME=
|
|
APPLE_APP_SPECIFIC_PASSWORD=
|
|
|
|
# Sicherheit
|
|
RATE_LIMIT_WINDOW_MS=60000
|
|
RATE_LIMIT_MAX_ATTEMPTS=5
|
|
RATE_LIMIT_BLOCK_DURATION_MS=900000
|