services: pgadmin: image: dpage/pgadmin4:latest restart: unless-stopped environment: TZ: ${TZ:-UTC} PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL} PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD} PGADMIN_LISTEN_PORT: 80 PGADMIN_CONFIG_SERVER_MODE: ${PGADMIN_CONFIG_SERVER_MODE:-True} PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED: ${PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED:-True} PGADMIN_CONFIG_UPGRADE_CHECK_ENABLED: ${PGADMIN_CONFIG_UPGRADE_CHECK_ENABLED:-False} PGADMIN_CONFIG_ENHANCED_COOKIE_PROTECTION: ${PGADMIN_CONFIG_ENHANCED_COOKIE_PROTECTION:-True} volumes: - pgadmin_data:/var/lib/pgadmin - ./config_local.py:/pgadmin4/config_local.py:ro - ./servers.json:/pgadmin4/servers.json:ro expose: - "80" healthcheck: test: ["CMD-SHELL", "python3 -c \"import urllib.request; urllib.request.urlopen('http://127.0.0.1:80/misc/ping').read()\""] interval: 30s timeout: 10s retries: 5 start_period: 40s networks: - proxy networks: proxy: external: true volumes: pgadmin_data: name: ${PGADMIN_VOLUME_NAME:-pgadmin_data}