pocket-id-exporter/docker-compose.yml
2025-01-22 00:25:34 +01:00

86 lines
2 KiB
YAML

services:
pocketid:
image: stonith404/pocket-id:latest
container_name: pocket-id
restart: unless-stopped
env_file: .env
volumes:
- "./data:/app/backend/data"
environment:
- TRUST_PROXY=true # Set to true if a reverse proxy is in front of the container
- DB_PROVIDER=postgres
- POSTGRES_CONNECTION_STRING=$POSTGRES_CONNECTION_STRING_ENV
depends_on:
- db
labels:
com.centurylinklabs.watchtower.enable: true
caddy: pocket-id.brothertec.eu
caddy.@geofilter.maxmind_geolocation.db_path: /GeoIP/GeoLite2-Country.mmdb
caddy.@geofilter.maxmind_geolocation.deny_countries: RU CN
caddy.reverse_proxy: "@geofilter {{upstreams 80}}"
caddy.encode: "zstd gzip"
caddy.log: ""
caddy.log.output: "file /logs/pocket-id.brothertec.eu.log"
caddy.log.output.roll_size: "100MiB"
caddy.log.output.roll_keep: "5"
caddy.log.output.roll_keep_for: "100d"
caddy.log.format: "json"
caddy.log.level: "INFO"
networks:
- default
- caddy
db:
image: postgres:17
environment:
POSTGRES_USER: $POSTGRES_USER_ENV
POSTGRES_PASSWORD: $POSTGRES_PASSWORD_ENV
POSTGRES_DB: $POSTGRES_DB_ENV
volumes:
- ./postgres_data:/var/lib/postgresql/data
restart: always
networks:
default:
dns:
ipv4_address: 172.28.0.123
#ports:
# - "5432:5432"
labels:
- "com.centurylinklabs.watchtower.enable=true"
pocket-id-exporter:
container_name: pocket-id-exporter
build:
context: go/.
args:
- GO111MODULE=off
volumes:
- "./data:/data"
#ports:
# - "3000:3000"
environment:
- TZ=Europe/Berlin
- DB_TYPE=postgres
- DB_CONNECTION=$DB_CONNECTION_ENV
#- DB_TYPE=sqlite3
#- DB_CONNECTION=./data/pocket-id.db
depends_on:
- db
restart: always
networks:
default:
dns:
ipv4_address: 172.28.0.93
networks:
dns:
external: true
caddy:
external: true