Files
docker-compose/pocket-id/compose.yaml

60 lines
1.7 KiB
YAML

services:
pocket-id-db:
container_name: pocket-id-db
image: docker.io/library/postgres:18.2@sha256:9b5bd946f3a507db72c55959700e517463e8d5dbb6f7eb30d920d5bcf6951431
restart: unless-stopped
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
- PGDATA=/var/lib/postgresql/18/docker
volumes:
- ${APPDATA_PATH}/pocket-id/db:/var/lib/postgresql
networks:
- backend
healthcheck:
test: ["CMD-SHELL", "pg_isready -d ${POSTGRES_DB} -U ${POSTGRES_USER}"]
interval: 10s
timeout: 5s
retries: 3
start_period: 10s
pocket-id:
container_name: pocket-id
image: ghcr.io/pocket-id/pocket-id:v2.2.0-distroless@sha256:ad2d21a7b31d6b4f1d999caec794a5b5edeb97fc40801947158d62befd4203e3
restart: unless-stopped
depends_on:
pocket-id-db:
condition: service_healthy
read_only: true
user: ${PUID}:${PGID}
environment:
- APP_URL=${APP_URL}
- TRUST_PROXY=${TRUST_PROXY}
- MAXMIND_LICENSE_KEY=${MAXMIND_LICENSE_KEY}
- ENCRYPTION_KEY=${ENCRYPTION_KEY}
- PUID=${PUID}
- PGID=${PGID}
- ANALYTICS_DISABLED=${ANALYTICS_DISABLED}
- DB_PROVIDER=postgres
- DB_CONNECTION_STRING=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@pocket-id-db:5432/${POSTGRES_DB}
volumes:
- ${APPDATA_PATH}/pocket-id/data:/app/data
ports:
- ${PORT}:1411
networks:
- frontend
- backend
healthcheck:
test: [ "CMD", "/app/pocket-id", "healthcheck" ]
interval: 10s
timeout: 5s
retries: 3
start_period: 10s
networks:
frontend:
external: true
backend:
external: true