BirdNET-stream/docs/DOCKER.md

1.6 KiB
Executable File

Use docker to run BirdNET-stream

There are two ways to run BirdNET-stream using docker: a "all in one" container, running all services on the same container, or using a splitted approach, running each service on a separate container.

Prerequisites

  • docker
  • docker-compose (for splitted approach)
  • git

Using the all in one container (not working yet)

The all in one container is a container that runs all services on the same container.

You can follow the instructions in ./docker/all/README.md to create this container.

The splitted approach uses docker-compose and a docker container for each service.

This is the recommended approach to run BirdNET-stream while using docker.

First of of all, you need to clone the repository.

mkdir ~/Documents/BirdNET-stream
cd ~/Documents/BirdNET-stream
git clone -b main https://github.com/UncleSamulus/BirdNET-stream.git .

Then, create your dotenv file and populate it with your own configuration (for instance, generate random passwords and add them to .env credentials):

cp .env.example .env

You may need to adapt the listening ports of the services or other configuration parameters. In general all variables stated with ${VARIABLE:-default} inside ../docker-compose.yml can be override in the .env file using VARIABLE=value.

Once that is done, you can build and start docker services:

# Build images (first time only)
docker compose build
# Run
docker compose up # add `-d`, to run in background
# Stop
docker compose down

For a one liner:

docker compose up --build