services: chirp-automation: container_name: chirp-automation platform: linux/amd64 build: context: . dockerfile: docker/Dockerfile shm_size: 2g restart: unless-stopped deploy: resources: limits: cpus: "4" memory: 6g ports: - "${CHIRP_HTTP_PORT:-3000}:${PORT:-8080}" - "${CHIRP_VNC_PORT:-6080}:6080" environment: API_TOKEN: "${API_TOKEN}" PORT: "${PORT:-8080}" ADB_SERIAL: "${ADB_SERIAL:-emulator-5554}" ADB_CONNECT: "${ADB_CONNECT:-}" # Use baked-in config by default. (Binding an empty /opt/chirp/config will hide it.) ACTIONS_PATH: "/opt/chirp/config/actions.yaml" # Prefer a writable, persisted location for artifacts. ARTIFACTS_DIR: "/home/androidusr/chirp-artifacts" EMULATOR_DEVICE: "${EMULATOR_DEVICE:-Nexus 5}" WEB_VNC: "true" SKIP_EMULATOR_START: "${SKIP_EMULATOR_START:-false}" volumes: # Persist emulator + ADB state (and artifacts) under /home/androidusr - android-home:/home/androidusr healthcheck: test: [ "CMD-SHELL", "curl -fsS http://127.0.0.1:${PORT:-8080}/readyz > /dev/null", ] interval: 10s timeout: 5s retries: 12 start_period: 180s devices: - /dev/kvm privileged: true develop: watch: - action: rebuild path: ./src - action: rebuild path: ./package.json - action: rebuild path: ./tsconfig.json volumes: android-home: