# Auto-loaded by `docker compose` — build from local source instead of pulling stale GHCR images.
services:
  backend:
    build:
      context: .
      dockerfile: ./backend/Dockerfile
    environment:
      # Private Infonet swarm: only the seed onion is required in config.
      # Other participants (e.g. Pete) are discovered via signed manifest pull.
      MESH_ARTI_ENABLED: "true"
      MESH_ARTI_SOCKS_PORT: "9050"
      MESH_SYNC_TIMEOUT_S: "45"
      MESH_RELAY_PUSH_TIMEOUT_S: "45"
      MESH_SYNC_MAX_PEERS_PER_CYCLE: "5"
      MESH_INFONET_ALLOW_CLEARNET_SYNC: "false"
      MESH_PUBLIC_PEER_URL: ""
      MESH_BOOTSTRAP_SEED_PEERS: "http://gqpbunqbgtkcqilvclm3xrkt3zowjyl3s62kkktvojgvxzizamvbrqid.onion:8000"
      MESH_RELAY_PEERS: ""
      MESH_DEFAULT_SYNC_PEERS: ""
      MESH_BOOTSTRAP_SIGNER_PUBLIC_KEY: "ul1d0kj/ODPIp0OhHzX8eLAVXzJ3CVvzW1vn2IC6q3I="
      MESH_SWARM_MANIFEST_PULL_INTERVAL_S: "300"
      # Fleet testnet HMAC — overrides stale per-node .env so announce/push auth matches seed.
      MESH_PEER_PUSH_SECRET: "b7GoqsvoUD9MV7tyt0ZOzMptLA84QG6KCfaV9nDqz5Y"
      # Dev fleet: allow wormhole child agent to start without release attestation.
      PRIVACY_CORE_DEV_OVERRIDE: "true"

  frontend:
    build:
      context: ./frontend
