services:
  client:
    build:
      context: .
      dockerfile: deployments/Dockerfile.client
      args:
        VERSION: ${VERSION:-dev}
        GIT_COMMIT: ${GIT_COMMIT:-unknown}
    image: drip-client:${VERSION:-latest}
    container_name: drip-client
    restart: unless-stopped
    network_mode: host

    volumes:
      - drip-client-data:/app/data
      # Optional: mount config file
      # - ./client-config.yaml:/app/data/config.yaml:ro

    environment:
      TZ: ${TZ:-UTC}

    command: >
      ${TUNNEL_TYPE:-http} ${LOCAL_PORT:-3000}
      --server ${SERVER_ADDR}
      ${AUTH_TOKEN:+--token ${AUTH_TOKEN}}
      ${SUBDOMAIN:+--subdomain ${SUBDOMAIN}}
      ${LOCAL_ADDRESS:+--address ${LOCAL_ADDRESS}}
      ${DAEMON:+--daemon}

    logging:
      driver: json-file
      options:
        max-size: 10m
        max-file: "3"

volumes:
  drip-client-data:
    driver: local
