services:
  openchamber:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: openchamber
    ports:
      - "3000:3000"
    extra_hosts:
      - "host.docker.internal:host-gateway"
    volumes:
      - ./data/openchamber:/home/openchamber/.config/openchamber
      - ./data/opencode/share:/home/openchamber/.local/share/opencode
      - ./data/opencode/state:/home/openchamber/.local/state/opencode
      - ./data/opencode/config:/home/openchamber/.config/opencode
      - ./data/ssh:/home/openchamber/.ssh
      - ./workspaces:/home/openchamber/workspaces
    #environment:
    # OPENCHAMBER_HOST: 0.0.0.0  # Bind address (default in Docker: 0.0.0.0)
    # UI_PASSWORD: your_secure_password_here  # Uncomment to set UI password
    # OPENCHAMBER_TUNNEL_PROVIDER: cloudflare
    # OPENCHAMBER_TUNNEL_MODE: quick  # quick | managed-remote | managed-local
    # OPENCHAMBER_TUNNEL_HOSTNAME: app.example.com  # required for managed-remote
    # OPENCHAMBER_TUNNEL_TOKEN: your_cloudflare_token  # required for managed-remote
    # OPENCHAMBER_TUNNEL_CONFIG: /home/openchamber/.cloudflared/config.yml  # optional for managed-local
    # OH_MY_OPENCODE: true # enable oh-my-opencode
    # OPENCODE_HOST: http://172.17.0.1:4096 # Connect to external OpenCode server
    # OPENCODE_SKIP_START: true # skip start opencode
    # OPENCHAMBER_OPENCODE_HOSTNAME: 0.0.0.0 # Bind OpenCode to all interfaces
    restart: unless-stopped
