name: rlxbt-server

services:
  rlxbt-server:
    image: ghcr.io/sergio12s/rlxbt-server:0.2.6
    pull_policy: always
    restart: unless-stopped
    init: true
    ports:
      - "${RLXBT_PUBLISH_HOST:-127.0.0.1}:${RLXBT_PORT:-8142}:8142"
    environment:
      RLX_LICENSE_KEY: ${RLX_LICENSE_KEY:?set RLX_LICENSE_KEY in .env}
      RLXBT_API_KEY: ${RLXBT_API_KEY:?set RLXBT_API_KEY in .env}
      RLXBT_BIND_HOST: 0.0.0.0
      RLXBT_GBRAIN: ${RLXBT_GBRAIN:-off}
      RLXBT_GBRAIN_URL: ${RLXBT_GBRAIN_URL:-http://host.docker.internal:3030}
      RUST_LOG: ${RUST_LOG:-info}
    extra_hosts:
      - "host.docker.internal:host-gateway"
    volumes:
      - rlxbt-data:/var/lib/rlxbt
      - rlxbt-cache:/var/cache/rlxbt
      - /etc/machine-id:/etc/machine-id:ro
    security_opt:
      - no-new-privileges:true
    cap_drop:
      - ALL
    read_only: true
    tmpfs:
      - /tmp:size=64m,mode=1777

volumes:
  rlxbt-data:
  rlxbt-cache:
