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:b6b4d0b75c699a2c94dfc5a94fe09f38630f3b67ab0e1653ede1b7ac8e13c197
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.3.0-distroless@sha256:85a7485108325e34679b0fbca0baeb8418401f6d6cf59944d50f3ec013aafd09
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