version: '3.8' services: # This is an image based on BirdNET-Analyzer with a couple of patches applied. I hope to be able to replace this # with an image they maintain in the future birdnetserver: restart: unless-stopped image: mmcc73/birdnetserver:latest # If you are running on an arm64 machine, like a Pi 4, # use mmcc73/birdnetserver_arm64:latest as the image name # This will get you 2.3 of the BirdNET model If you want V2.4, use # mmcc73/birdnetserver2.4:latest or mmcc73/birdnetserver2.4_arm64:latest ports: - "7667:8080" redis: image: "redis:latest" #the redis server doesn't need to be exposed outside the virtual network, so no "ports" #mapping is needed networks: - birdcage_net birdcage_backend: image: "mmcc73/birdcage_backend:latest" ports: - "7007:7007" environment: DATABASE_FILE: /db/birdcage.db #comment for HA addon #DATABASE_FILE: share/birdcage/db/birdcage.db #uncomment for HA addon API_SERVER_PORT: 7007 TEMP_DIR_NAME: tmp ANALYZE_SERVER: 192.168.1.75 ANALYZE_PORT: 7667 DETECTION_DIR_NAME: detections #comment for HA addon #DETECTION_DIR_NAME: share/birdcage/detections #uncomment for HA addon CORS_ORIGINS: http://192.168.1.75:7008 REDIS_SERVER: redis REDIS_PORT: 6379 CONCURRENCY: 10 # this many processes will get started up to handle concurrent tasks. The app needs (number of streams) + 2? # I think? Maybe +3? Look, I don't really know what I'm doing here. JWT_SECRET_KEY: TheseAreTheTimesThatTryMensSouls #this is used to sign tokens, so use your own Enlightenment philosopher quote PULSE_SERVER: 172.17.0.1 #If you are using soundcard input, you need an address here that will get you to the host. This is #the default gateway address for docker networks, so in most cases will be fine. If you want #to be fancy you can use a device on a remote machine and put its address here. See the wiki #SCRIPT_NAME: /birdcage # Uncomment this if you want to reverse proxy to BirdCAGE at a subfolder like /birdcage/ tmpfs: - /tmp:size=16M #you might want to increase this size if you are recording a bunch of streams, if your # streams are particularly hi-res, or if your analyzer might be periodically unavailable #volumes_from: #uncomment for HA addon # - container:addon_local_birdcage #uncomment for HA addon volumes: - "./detections:/detections" #comment for HA addon - "./db:/db" #comment for HA addon - "/etc/localtime:/etc/localtime:ro" - "/etc/timezone:/etc/timezone:ro" depends_on: - redis networks: - birdcage_net birdcage_frontend: image: "mmcc73/birdcage_frontend:latest" ports: - "7008:7008" environment: API_SERVER_URL: http://192.168.1.75:7007 WEBUI_PORT: 7008 #SCRIPT_NAME: /birdcage # Uncomment this if you want to reverse proxy to BirdCAGE at a subfolder like /birdcage/ #TITLE_TEXT: Your Title Here #TITLE_LINK: http://yourlinkhere #TITLE_TEXT: Your Title Here #Include the above variables if you want to put some text, and optionally a link, in the nav bar volumes: - "/etc/localtime:/etc/localtime:ro" - "/etc/timezone:/etc/timezone:ro" depends_on: - birdcage_backend networks: - birdcage_net networks: birdcage_net: driver: bridge