services: keywarden-nginx: image: nginx:alpine container_name: keywarden-nginx restart: unless-stopped volumes: - ${DOCKERDIR}/nginx/configs/nginx.conf:/etc/nginx/nginx.conf:ro - ${DOCKERDIR}/nginx/configs/sites:/etc/nginx/conf.d/ - ${DOCKERDIR}/nginx/certs/:/certs/ - ${DOCKERDIR}/nginx/webdir/:/var/www/ - ${DOCKERDIR}/nginx/logs:/var/log/nginx/ ports: - "443:443" keywarden-valkey: image: valkey/valkey:latest restart: unless-stopped container_name: keywarden-valkey environment: - ALLOW_EMPTY_PASSWORD=yes keywarden-db: image: postgres:17-alpine container_name: keywarden-db environment: POSTGRES_PASSWORD: ${KEYWARDEN_POSTGRES_PASSWORD:-postgres} POSTGRES_DB: ${KEYWARDEN_POSTGRES_DB:-keywarden} POSTGRES_USER: ${KEYWARDEN_POSTGRES_USER:-keywarden} POSTGRES_PORT: ${KEYWARDEN_POSTGRES_PORT:-5432} healthcheck: test: ["CMD-SHELL", "pg_isready -U keywarden -d keywarden"] interval: 5s timeout: 5s retries: 20 volumes: - "pgdata:/var/lib/postgresql/data" keywarden: image: git.ntbx.io/boris/keywarden:latest container_name: keywarden command: sh ./entrypoint.sh ports: - "8000:80" depends_on: - keywarden-db - keywarden-valkey environment: - DJANGO_SETTINGS_MODULE=keywarden.settings.dev - PYTHONPATH=/app - DJANGO_SUPERUSER_USERNAME=${DJANGO_SUPERUSER_USERNAME} - DJANGO_SUPERUSER_EMAIL=${DJANGO_SUPERUSER_EMAIL} - DJANGO_SUPERUSER_PASSWORD=${DJANGO_SUPERUSER_PASSWORD} env_file: - .env volumes: pgdata: