- Add EncryptionService (AES-256-GCM) with passthrough when no key set - Flyway V3: enable pgcrypto extension + widen name columns to TEXT - DatabaseFactory: init EncryptionService from BOLLWERK_DB_ENCRYPTION_KEY, run migrateEncryptData() to encrypt existing plaintext rows on startup - InventoryRepository: encrypt on write, decrypt on read for items.name, items.notes, categories.name, locations.name, settings.value - MessageRepository: encrypt body on write, decrypt on read - docker-compose.yml: document BOLLWERK_DB_ENCRYPTION_KEY env var - docker-compose-vps.yml: pass BOLLWERK_DB_ENCRYPTION_KEY from .env - .env.example: add key generation template - .gitignore: add .env to ignore list Closes #98
17 lines
731 B
Text
17 lines
731 B
Text
# Bollwerk Server – Umgebungsvariablen
|
||
# Kopiere diese Datei als `.env` auf den VPS und trage echte Werte ein.
|
||
# WARNUNG: .env darf NIEMALS ins Git-Repository committed werden (steht in .gitignore).
|
||
|
||
# Datenbank-Passwort
|
||
BOLLWERK_DB_PASSWORD=change-me-to-a-strong-password
|
||
|
||
# Initialer Admin-Passwort (nur beim ersten Start genutzt)
|
||
BOLLWERK_ADMIN_PASSWORD=change-me-to-a-strong-admin-password
|
||
|
||
# JWT-Signing-Key (min. 32 Zeichen)
|
||
BOLLWERK_JWT_SECRET=change-me-to-a-secure-jwt-secret-at-least-32-chars
|
||
|
||
# Column-Level Encryption Key (AES-256, base64-kodiert)
|
||
# Generieren mit: openssl rand -base64 32
|
||
# WICHTIG: Diesen Key sicher aufbewahren – ohne ihn sind die verschlüsselten Daten nicht lesbar!
|
||
BOLLWERK_DB_ENCRYPTION_KEY=
|