services: db: image: postgres:17 container_name: vaultwarden-db hostname: vaultwarden-db security_opt: - no-new-privileges:true healthcheck: test: ["CMD", "pg_isready", "-q", "-d", "vaultwarden", "-U", "vaultwardenuser"] timeout: 45s interval: 10s retries: 10 volumes: - db:/var/lib/postgresql/data:rw environment: POSTGRES_DB: vaultwarden POSTGRES_USER: vaultwardenuser POSTGRES_PASSWORD: vaultwardenpass restart: on-failure:5 vaultwarden: image: vaultwarden/server:latest container_name: vaultwarden hostname: vaultwarden security_opt: - no-new-privileges:true user: 1000:100 ports: - 4080:4020 volumes: - data:/data:rw environment: ROCKET_PORT: 4020 DATABASE_URL: postgresql://vaultwardenuser:vaultwardenpass@vaultwarden-db:5432/vaultwarden ADMIN_TOKEN: bYbhH1Lfe5roAjFAd1wITTu8jIT7gCq5 DISABLE_ADMIN_TOKEN: false DOMAIN: https://vaultwarden.scheidel.biz SMTP_HOST: smtp.strato.de SMTP_FROM: michael.scheidel@scheidel.biz SMTP_PORT: 587 SMTP_SECURITY: starttls SMTP_USERNAME: michael.scheidel@scheidel.biz SMTP_PASSWORD: ?EAM?Yes!01 restart: on-failure:5 depends_on: db: condition: service_started volumes: db: data: