services: camera-station: build: . container_name: camera-station # Comes back after a reboot or a crash, which is what makes this a service # rather than something you have to remember to start. restart: unless-stopped ports: - "8000:8000" volumes: # Recordings, photos and cameras.json. Back this up, not the image. - ./data:/data environment: # Photos and recordings are named with local time, so set your own zone. # tzdata is installed in the image, so this actually takes effect. - TZ=Europe/Lisbon # Recording copies the stream rather than re-encoding it, so this is light. # Viewing an RTSP camera is the expensive part, because that must decode. stop_grace_period: 20s # let ffmpeg close the current segment command: - python3 - server.py - --host - "0.0.0.0" - --port - "8000" - --storage-limit - "10" # gigabytes of footage to keep