bollwerk/.env.example
Jens Reinemann 90cfac70a0 feat: column-level encryption at rest with AES-256-GCM (#98)
- 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
2026-05-17 22:17:10 +02:00

17 lines
731 B
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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=