services: envio-postgres: image: postgres:16 restart: always # La section "ports" a été supprimée pour empêcher l'accès extérieur à la base de données. volumes: - db_data:/var/lib/postgresql/data environment: POSTGRES_PASSWORD: ${ENVIO_POSTGRES_PASSWORD:-postgres} POSTGRES_USER: ${ENVIO_PG_USER:-postgres} POSTGRES_DB: ${ENVIO_PG_DATABASE:-postgres} healthcheck: test: ["CMD-SHELL", "pg_isready -U ${ENVIO_PG_USER:-postgres} -d ${ENVIO_PG_DATABASE:-postgres}"] interval: 5s timeout: 5s retries: 5 graphql-engine: image: hasura/graphql-engine:v2.43.0 ports: - "127.0.0.1:${HASURA_EXTERNAL_PORT:-8080}:8080" depends_on: envio-postgres: condition: service_healthy restart: always volumes: - ./generated/hasura/migrations:/hasura/migrations - ./generated/hasura/metadata:/hasura/metadata environment: HASURA_GRAPHQL_DATABASE_URL: postgres://${ENVIO_PG_USER:-postgres}:${ENVIO_POSTGRES_PASSWORD:-postgres}@envio-postgres:5432/${ENVIO_PG_DATABASE:-postgres} HASURA_GRAPHQL_ADMIN_SECRET: ${HASURA_GRAPHQL_ADMIN_SECRET:-myadminsecretkey} HASURA_GRAPHQL_UNAUTHORIZED_ROLE: ${HASURA_GRAPHQL_UNAUTHORIZED_ROLE:-public} HASURA_GRAPHQL_ENABLE_CONSOLE: "true" HASURA_GRAPHQL_CORS_DOMAIN: "*" HASURA_GRAPHQL_STRINGIFY_NUMERIC_TYPES: "true" healthcheck: test: ["CMD-SHELL", "timeout 1s bash -c ':> /dev/tcp/127.0.0.1/8080' || exit 1"] interval: 5s timeout: 2s retries: 50 start_period: 5s envio-indexer: container_name: och-indexer build: context: . dockerfile: Dockerfile ports: - "127.0.0.1:${INDEXER_EXTERNAL_PORT:-8081}:8081" depends_on: graphql-engine: condition: service_healthy restart: always environment: ENVIO_API_TOKEN: ${ENVIO_API_TOKEN:-} ENVIO_POSTGRES_PASSWORD: ${ENVIO_POSTGRES_PASSWORD} ENVIO_PG_HOST: envio-postgres ENVIO_PG_PORT: 5432 ENVIO_PG_USER: ${ENVIO_PG_USER} ENVIO_PG_DATABASE: ${ENVIO_PG_DATABASE} HASURA_GRAPHQL_ENDPOINT: http://graphql-engine:8080/v1/metadata HASURA_GRAPHQL_URL: http://graphql-engine:8080 HASURA_GRAPHQL_ADMIN_SECRET: ${HASURA_GRAPHQL_ADMIN_SECRET} CONFIG_FILE: ${CONFIG_FILE:-config.yaml} LOG_LEVEL: ${LOG_LEVEL:-info} volumes: db_data: