Files
hassio-addons/birdnet-pi-zach/README_standalone.md
Claude Code 748bcc7df1 Add birdnet-pi-zach addon (zach7036/BirdNET-Pi-Enhanced-Version fork)
Creates a new Home Assistant add-on that installs from zach7036's BirdNET-Pi-Enhanced-Version fork instead of the Nachtzuster/alexbelgium fork. Leaves the existing birdnet-pi addon untouched.

Key changes from birdnet-pi:
- Installer repointed to zach7036/BirdNET-Pi-Enhanced-Version/main/newinstaller.sh
- Removed alexbelgium repo rename sed (zach7036 fork already clones itself)
- Removed merge_open_prs PR-merging step (install stable main)
- Updated slug to birdnet-pi-zach, image to birdnet-pi-zach-{arch}
- Updated README/docs upstream description
- Unique apparmor profile name

The generic Dockerfile patches (strip sudo, remap my_dir, systemctl shims) apply unchanged to the new fork since it follows standard BirdNET-Pi layout.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-10 10:30:04 +02:00

5.4 KiB

BirdNET-Pi Docker Installation Guide

I maintain this and other Home Assistant add-ons in my free time: keeping up with upstream changes, HA changes, and testing on real hardware takes a lot of time (and some money). I use around 5-10 of my >110 addons so regularly I install test machines (and purchase some test services such as vpn) that I don't use myself to troubleshoot and improve the addons

If this add-on saves you time or makes your setup easier, I would be very grateful for your support!

Buy me a coffee Donate via PayPal

Addon informations

This guide provides instructions on how to install and run the BirdNET-Pi container using Docker Compose without dependency on HomeAssistant.

Note : For usage as an HomeAssistant addon, see here

Thanks to @gotschi for the initial Docker Compose

Prerequisites

Ensure you have the following installed on your system:

Installation

  1. Create a directory for BirdNET-Pi

    mkdir -p ~/birdnet-pi-zach && cd ~/birdnet-pi-zach
    
  2. Create a docker-compose.yml file Create and open the file with:

    nano docker-compose.yml
    

    Copy and paste the following configuration:

    services:
      birdnet-pi-zach:
        container_name: birdnet-pi-zach
        image: ghcr.io/alexbelgium/birdnet-pi-zach-amd64:latest # or ghcr.io/alexbelgium/birdnet-pi-zach-aarch64:latest depending on your system
        restart: unless-stopped
        ports:
          - "8001:8081"  # Used to access WebUI
          - "80:80"  # Optional: set to 80 to use Caddy's automatic SSL. Can otherwise be set to null to avoid opening an additional port
        environment:
          - TZ=Europe/Vienna  # Optional: Set your timezone according to https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
          - BIRDSONGS_FOLDER=/config/BirdSongs  # Folder to store bird songs, be sure to use a path that is mapped to a volume (such as /config)
          - LIVESTREAM_BOOT_ENABLED=false  # Enable/disable livestream on boot
          - Use_tphakala_model_v2=false  # Switch to BirdNET-Go classifier files
          - ssl=false  # Enable/disable SSL
          - certfile=fullchain.pem  # SSL certificate file (located in /ssl/)
          - keyfile=privkey.pem  # SSL key file (located in /ssl/)
          - pi_password=  # Optional: Set web terminal password for user `pi`
          - MQTT_HOST_manual=  # Optional: Manual MQTT host
          - MQTT_PASSWORD_manual=  # Optional: Manual MQTT password
          - MQTT_PORT_manual=  # Optional: Manual MQTT port
          - MQTT_USER_manual=  # Optional: Manual MQTT user
          - PULSE_SERVER=unix:/tmp/pulseaudio.socket
          - PULSE_COOKIE=/tmp/pulseaudio.cookie
    
        volumes:
          - ./config:/config  # All your configuration files - and location of the default Birdsongs folder
          - ./ssl:/ssl  # SSL certificates
          - /dev/shm:/dev/shm  # Shared memory
          - /tmp/pulseaudio.socket:/tmp/pulseaudio.socket
          - /tmp/pulseaudio.client.conf:/etc/pulse/client.conf
    
        devices:
          - /dev/snd:/dev/snd
    
        group_add:
          - audio
    
        tmpfs:
          - /tmp # Optional
    
    
  3. Start the Container Run the following command in the same directory as docker-compose.yml:

    docker compose up -d
    

    This will start the BirdNET-Pi container in detached mode.

  4. Access BirdNET-Pi Web UI Open your browser and navigate to:

    http://localhost:8001 # Or whatever port you have configured
    

    Replace localhost with your server's IP address if running on another machine. When prompted for credentials in the web terminal, use the username pi and the password defined by pi_password (blank if unset).

troubleshoot

If rtsp feed doesn't work, perhaps you need to add "-rtsp-transport tcp" to your ffmpeg instruction, or allow udp on your network

Updating to the Latest Version

To check for new versions of the container and update:

  1. Check for the latest version Visit the container registry: https://github.com/alexbelgium/hassio-addons/pkgs/container/birdnet-pi-zach-amd64

    The latest version tag (e.g., 2025.02.23) will be listed.

  2. Update and restart the container Run the following commands:

    docker compose pull birdnet-pi-zach
    docker compose up -d --force-recreate
    

    This pulls the latest image and restarts the container.

  3. Verify the update

    docker images | grep birdnet-pi-zach
    

    This will show the latest downloaded image version.

Stopping and Removing the Container

To stop and remove the container, run:

docker compose down

This will stop and remove BirdNET-Pi while keeping the configuration and recorded songs intact.


Now you're all set to enjoy BirdNET-Pi with Docker! 🐦