version: '3.8'
services:
  db:
    image: postgres:14
    container_name: simple_user_postgres
    ports:
      - 5434:5432
    volumes:
      - ./postgres/my-postgres.conf:/etc/postgresql/my-postgres.conf # 追加
    environment:
      - POSTGRES_DB=ddd
      - POSTGRES_PASSWORD=password
  hasura:
    build:
      context: .
      dockerfile: ./apps/hasura/Dockerfile.hasura.development
    volumes:
      - ./apps/hasura:/tmp/hasura-project/hasura
    ports:
    - "8080:8080"
    depends_on:
    - "db"
    restart: always
    environment:
      HASURA_GRAPHQL_DATABASE_URL: postgres://postgres:password@db:5432/ddd
      REMOTE_SCHEMA_ENDPOINT: http://host.docker.internal:4000/graphql
      HASURA_GRAPHQL_ADMIN_SECRET: myadminsecretkey
      HASURA_GRAPHQL_JWT_SECRET: '{"type":"HS256", "key": "local-only-hs256-key-00000000000", "claims_map": {"x-hasura-allowed-roles": ["user"],"x-hasura-default-role": "user","x-hasura-user-id": {"path": "$.sub"}}}'
      HASURA_GRAPHQL_DEV_MODE: "true"
      HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log
      HASURA_GRAPHQL_MIGRATIONS_DIR: "/tmp/hasura-project/migrations"
      HASURA_GRAPHQL_METADATA_DIR: "/tmp/hasura-project/metadata"

  api:
    build:
      context: .
      dockerfile: ./apps/api/Dockerfile
    ports:
    - "4000:4000"
    environment:
      - DATABASE_URL=postgresql://postgres:password@db:5432/ddd?schema=public
    depends_on:
      - db
