Compare commits
19 Commits
ce4484d1c5
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| cd5d790c69 | |||
| 682fea8e9a | |||
| ea5f731359 | |||
| 210cdfb47e | |||
| 2813d99844 | |||
| ac316b9fe7 | |||
| fc9a82e0fc | |||
| f6c2836eb1 | |||
| 1f215f50dd | |||
| 7093fd72c0 | |||
| df48548d28 | |||
| a41b248292 | |||
| a4f1a3f637 | |||
| 8e86853f3d | |||
| 3fa6c744d9 | |||
| 52bfb58cfa | |||
| b1d1051c46 | |||
| 2c3e3c53da | |||
| 0c1b94eaeb |
@@ -1,71 +1,53 @@
|
||||
# Vaultwarden Configuration - (Bitwarden-compatible) Password Manager
|
||||
services:
|
||||
vaultwarden_db:
|
||||
# PostgreSQL Database Configuration
|
||||
container_name: vaultwarden_db
|
||||
image: docker.io/library/postgres:17.5
|
||||
restart: unless-stopped # Auto-recover from crashes
|
||||
|
||||
# Database credentials
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=${POSTGRES_USER} # Database username
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD} # Database password
|
||||
- POSTGRES_DB=${POSTGRES_DB} # Database name
|
||||
|
||||
# Persistent storage configuration
|
||||
- POSTGRES_USER=${POSTGRES_USER}
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
- POSTGRES_DB=${POSTGRES_DB}
|
||||
volumes:
|
||||
- ${APPDATA_PATH}/vaultwarden/db:/var/lib/postgresql/data # Database files
|
||||
|
||||
# Network configuration
|
||||
- ${APPDATA_PATH}/vaultwarden/db:/var/lib/postgresql/data
|
||||
ports:
|
||||
- ${DB_PORT}:5432 # PostgreSQL default port
|
||||
- ${DB_PORT}:5432
|
||||
networks:
|
||||
- backend # Connects to backend network
|
||||
|
||||
# Health monitoring
|
||||
- backend
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -d ${POSTGRES_DB} -U ${POSTGRES_USER}"] # Connection check
|
||||
interval: 30s # Check every 30 seconds
|
||||
timeout: 5s # Maximum check duration
|
||||
retries: 5 # Allow 5 failures before marking unhealthy
|
||||
start_period: 20s # Initial grace period
|
||||
test: ["CMD-SHELL", "pg_isready -d ${POSTGRES_DB} -U ${POSTGRES_USER}"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
start_period: 20s
|
||||
|
||||
vaultwarden_server:
|
||||
container_name: vaultwarden_server
|
||||
# Container configuration
|
||||
image: ghcr.io/dani-garcia/vaultwarden:1.34.1 # Official Vaultwarden image
|
||||
restart: unless-stopped # Auto-restart on failure
|
||||
image: ghcr.io/dani-garcia/vaultwarden:1.34.1
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
vaultwarden_db:
|
||||
condition: service_healthy # Wait for healthy database
|
||||
|
||||
# Application settings
|
||||
condition: service_healthy
|
||||
environment:
|
||||
- PUID=${PUID} # User ID for file permissions
|
||||
- PGID=${PGID} # Group ID for file permissions
|
||||
- TZ=${TZ} # Timezone configuration
|
||||
- DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@vaultwarden_db:5432/${POSTGRES_DB} # DB connection
|
||||
- WEBSOCKET_ENABLED=${WEBSOCKET_ENABLED} # Real-time updates
|
||||
- LOG_FILE=/data/vaultwarden.log # Log file location
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TZ}
|
||||
- DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@vaultwarden_db:5432/${POSTGRES_DB}
|
||||
- WEBSOCKET_ENABLED=${WEBSOCKET_ENABLED}
|
||||
- LOG_FILE=/data/vaultwarden.log
|
||||
# Uncomment and set these only on first run
|
||||
# - DOMAIN=${DOMAIN} # Domain Name
|
||||
# - SIGNUPS_ALLOWED=${SIGNUPS_ALLOWED} # User registration
|
||||
# - ADMIN_TOKEN=${ADMIN_TOKEN} # Admin interface access token
|
||||
|
||||
# Persistent storage configuration
|
||||
# - DOMAIN=${DOMAIN}
|
||||
# - SIGNUPS_ALLOWED=${SIGNUPS_ALLOWED}
|
||||
# - ADMIN_TOKEN=${ADMIN_TOKEN}
|
||||
volumes:
|
||||
- ${APPDATA_PATH}/vaultwarden/data:/data # Vault data storage
|
||||
|
||||
# Network configuration
|
||||
- ${APPDATA_PATH}/vaultwarden/data:/data
|
||||
ports:
|
||||
- ${SERVER_PORT}:80 # Web interface port
|
||||
- ${SERVER_PORT}:80
|
||||
networks:
|
||||
- frontend # Connects to frontend network
|
||||
- backend # Connects to backend network
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
# External network definitions
|
||||
networks:
|
||||
frontend:
|
||||
external: true # Uses existing frontend network
|
||||
external: true
|
||||
backend:
|
||||
external: true # Uses existing backend network
|
||||
external: true
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
adminer:
|
||||
container_name: adminer
|
||||
image: docker.io/library/adminer:5.4.2@sha256:16a72c6140f64d00a3a9edf8d3d3b18a7b0a29ca31b0453378d9eb71f01f9e34
|
||||
image: docker.io/library/adminer:5.4.2@sha256:41898b976011fd87f2d3037366ad97f7d89fddfebc8aa8b3a7d77d0c465aa37b
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- ${PORT}:8080
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
dockhand_db:
|
||||
container_name: dockhand_db
|
||||
image: docker.io/library/postgres:18.3@sha256:a9abf4275f9e99bff8e6aed712b3b7dfec9cac1341bba01c1ffdfce9ff9fc34a
|
||||
image: docker.io/library/postgres:18.3@sha256:78481659c47e862334611ccdaf7c369c986b3046da9857112f3b309114a65fb4
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=${POSTGRES_USER}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
healthchecks:
|
||||
container_name: healthchecks
|
||||
image: ghcr.io/linuxserver/healthchecks:4.1.20260323@sha256:9284fb75cc62aafebb01eceef41f1630cc5c97c25ea2e310083e9799f36836f3
|
||||
image: ghcr.io/linuxserver/healthchecks:4.2.20260428@sha256:2973440afcdcf5884b334782a70b7a7c292595810ad3a162f0289d2e878f2c80
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
home-assistant:
|
||||
container_name: home-assistant
|
||||
image: ghcr.io/home-assistant/home-assistant:2026.4.0@sha256:7fbf6a5e006e889d7799476ad7646bd18e9dc73e8a4ccd9326b41798de6bb3bf
|
||||
image: ghcr.io/home-assistant/home-assistant:2026.5.1@sha256:d4fbec16196d5c8bedf32647f0ca7165f654d92a2e81f35a373508d3226cb867
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ${APPDATA_PATH}/home-assistant/config:/config
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
kiwix:
|
||||
container_name: kiwix
|
||||
image: ghcr.io/kiwix/kiwix-serve:3.8.2@sha256:acdab28186a66b51bfd4202210c6732931ea95cf41c711148a0c9770b9fcc9e1
|
||||
image: ghcr.io/kiwix/kiwix-serve:3.8.2@sha256:0b6541355b250c6b45d2d7725e88f22f1d6a0f45ad9480d9c0bd4bc58436a12f
|
||||
restart: unless-stopped
|
||||
command:
|
||||
- '*.zim'
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
lldap_db:
|
||||
container_name: lldap_db
|
||||
image: docker.io/library/postgres:18.3@sha256:a9abf4275f9e99bff8e6aed712b3b7dfec9cac1341bba01c1ffdfce9ff9fc34a
|
||||
image: docker.io/library/postgres:18.3@sha256:78481659c47e862334611ccdaf7c369c986b3046da9857112f3b309114a65fb4
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=${POSTGRES_USER}
|
||||
@@ -21,7 +21,7 @@ services:
|
||||
|
||||
lldap:
|
||||
container_name: lldap
|
||||
image: ghcr.io/lldap/lldap:v0.6.2-alpine-rootless@sha256:35df821899ec54c11eaab395e9c68e191e2582592cba343b0a904f6821aadcd2
|
||||
image: ghcr.io/lldap/lldap:v0.6.3-alpine-rootless@sha256:ba2c50930ea998eefd5454aa678a7977448019248b1827da87d330df0b71c284
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
lldap_db:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
pocket-id-db:
|
||||
container_name: pocket-id-db
|
||||
image: docker.io/library/postgres:18.3@sha256:a9abf4275f9e99bff8e6aed712b3b7dfec9cac1341bba01c1ffdfce9ff9fc34a
|
||||
image: docker.io/library/postgres:18.3@sha256:78481659c47e862334611ccdaf7c369c986b3046da9857112f3b309114a65fb4
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=${POSTGRES_USER}
|
||||
@@ -21,7 +21,7 @@ services:
|
||||
|
||||
pocket-id:
|
||||
container_name: pocket-id
|
||||
image: ghcr.io/pocket-id/pocket-id:v2.5.0-distroless@sha256:deadc3c4dd6655a7d7f959200db1c74e394942dc061e6f3732b709983a08aab7
|
||||
image: ghcr.io/pocket-id/pocket-id:v2.7.0-distroless@sha256:ba71ff2988ba42d527784ccfc7530b356ec3f931e600a195de48f2962e2ce1ba
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
pocket-id-db:
|
||||
|
||||
Reference in New Issue
Block a user