services: postgres: image: ${POSTGRES_IMAGE} restart: always ports: - "127.0.0.1:${POSTGRES_PORT}:5432" environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} PGDATA: /var/lib/postgresql/data/pgdata volumes: - ./data/postgres:/var/lib/postgresql/data/pgdata networks: - infra healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"] interval: 5s timeout: 3s retries: 10 pgadmin: image: ${PGADMIN_IMAGE} restart: always ports: - "127.0.0.1:${PGADMIN_PORT}:80" environment: PGADMIN_DEFAULT_EMAIL: ${PGADMIN_EMAIL} PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_PASSWORD} PGADMIN_CONFIG_SERVER_MODE: 'False' volumes: - ./data/pgadmin:/var/lib/pgadmin networks: - infra depends_on: postgres: condition: service_healthy object-storage: image: ${SILO_IMAGE} restart: always ports: - "127.0.0.1:${SILO_STORAGE_PORT}:9000" - "127.0.0.1:${SILO_WEB_PORT}:9001" environment: MINIO_ROOT_USER: ${SILO_USER} MINIO_ROOT_PASSWORD: ${SILO_PASSWORD} command: server /data --console-address ":9001" volumes: - ./data/s3:/data networks: - infra vault: image: ${VAULT_IMAGE} restart: always command: server cap_add: - IPC_LOCK ports: - "127.0.0.1:${VAULT_PORT}:8200" environment: BAO_ADDR: http://127.0.0.1:8200 volumes: - ./config/vault:/openbao/config:ro - ./data/vault:/openbao/data networks: - infra networks: infra: driver: bridge