services: postgres: image: postgres:17 container_name: postgres restart: unless-stopped shm_size: "256mb" volumes: - ./data:/var/lib/postgresql/data - ./wal-g/wal-g:/usr/local/bin/wal-g:ro environment: POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} PGUSER: postgres PGHOST: /var/run/postgresql PGPORT: "5432" WALG_S3_PREFIX: s3://ct113-pg-backup/ AWS_ENDPOINT: http://192.168.1.40:10004 AWS_ACCESS_KEY_ID: ${WALG_S3_ACCESS_KEY} AWS_SECRET_ACCESS_KEY: ${WALG_S3_SECRET_KEY} AWS_REGION: us-east-1 AWS_S3_FORCE_PATH_STYLE: "true" ports: - "192.168.1.6:5432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 10s timeout: 5s retries: 5 deploy: resources: limits: cpus: "2.0" memory: 1G portainer-agent: image: portainer/agent:latest container_name: portainer-agent restart: unless-stopped ports: - "9001:9001" volumes: - /var/run/docker.sock:/var/run/docker.sock - /var/lib/docker/volumes:/var/lib/docker/volumes deploy: resources: limits: cpus: "0.25" memory: 128M pgadmin: image: dpage/pgadmin4:latest container_name: pgadmin restart: unless-stopped ports: - "5050:80" volumes: - ./pgadmin:/var/lib/pgadmin - ./pgadmin-servers.json:/pgadmin4/servers.json:ro environment: PGADMIN_DEFAULT_EMAIL: ${PGADMIN_EMAIL} PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_PASSWORD} PGADMIN_CONFIG_SERVER_MODE: "False" PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED: "False" depends_on: postgres: condition: service_healthy deploy: resources: limits: cpus: "0.5" memory: 512M dozzle-agent: image: amir20/dozzle:latest container_name: dozzle-agent command: agent restart: unless-stopped volumes: - /var/run/docker.sock:/var/run/docker.sock ports: - "7007:7007" deploy: resources: limits: cpus: "0.25" memory: 64M docker-socket-proxy: image: tecnativa/docker-socket-proxy:latest container_name: docker-socket-proxy restart: unless-stopped ports: - "2375:2375" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro environment: - CONTAINERS=1 - INFO=1 deploy: resources: limits: cpus: "0.1" memory: 32M