diff --git a/.env.example b/.env.example index 1b952ce6..ec06ddf1 100644 --- a/.env.example +++ b/.env.example @@ -71,11 +71,19 @@ JMAP_SERVER_URL=https://your-jmap-server.com # Directory for storing encrypted settings files (default: ./data/settings). # For Docker, the working directory is /app, so the default resolves to -# /app/data/settings - mount a persistent volume there: -# volumes: -# - bulwark-settings:/app/data/settings +# /app/data/settings - mount a persistent volume there (see docker-compose.yml). # SETTINGS_DATA_DIR=./data/settings +# ============================================================================= +# Admin Dashboard Data +# ============================================================================= + +# Directory for admin dashboard state: config overrides, admin password hash, +# installed plugins/themes, and audit logs (default: ./data/admin). +# For Docker, the default resolves to /app/data/admin - mount a persistent +# volume there (see docker-compose.yml). +# ADMIN_DATA_DIR=./data/admin + # ============================================================================= # Server Listen Address # ============================================================================= diff --git a/docker-compose.yml b/docker-compose.yml index 2479dc33..c77bb9aa 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,6 +8,11 @@ services: - PORT=3000 env_file: - .env.local + volumes: + # Encrypted user settings (SETTINGS_DATA_DIR). + - bulwark-settings:/app/data/settings + # Admin dashboard state: config, password hash, plugins, audit logs (ADMIN_DATA_DIR). + - bulwark-admin:/app/data/admin healthcheck: test: [ @@ -23,3 +28,7 @@ services: retries: 3 start_period: 10s restart: unless-stopped + +volumes: + bulwark-settings: + bulwark-admin: