Skip to main content

Docker Logs & Support Bundle

When something goes wrong, logs are your first stop. O.D.I.N. runs 9 supervised processes inside a single container, and each one writes its own logs.

Viewing Container Logs​

The quickest way to see what's happening:

docker compose logs -f

To limit output to the last 100 lines:

docker compose logs odin --tail 100

If you have the O.D.I.N. repo cloned locally, use the make targets:

make logs # tail container logs (follow mode)
make shell # open a bash shell inside the container

Supervised Processes​

O.D.I.N. uses supervisord to manage its nine processes. Each process writes its log to /data/ inside the container (supervisord itself logs to /data/supervisord.log). The same files are available in Settings → Logs.

ProcessLog FilePurpose
FastAPI backendbackend.logAPI server, web UI
Bambu MQTT monitormqtt_monitor.logBambu Lab printer telemetry
Moonraker monitormoonraker_monitor.logKlipper/Moonraker printer telemetry
PrusaLink monitorprusalink_monitor.logPrusa printer telemetry
Elegoo monitorelegoo_monitor.logElegoo printer telemetry
go2rtcgo2rtc.logCamera streaming
Vigil AIvision_monitor.logAI print failure detection
Timelapse capturetimelapse_capture.logTimelapse frame capture
Report runnerreport_runner.logScheduled report delivery

To read a specific process log from outside the container:

docker compose exec odin cat /data/mqtt_monitor.log

To check process status:

docker compose exec odin supervisorctl status

Support Bundle​

When filing a bug report, collect a support bundle to give maintainers the context they need.

What to Include​

  1. Container logs (last 500 lines):
docker compose logs odin --tail 500 > odin-logs.txt
  1. Supervisor process status:
docker compose exec odin supervisorctl status > odin-supervisor.txt
  1. System info:
docker version > odin-system.txt
docker compose version >> odin-system.txt
uname -a >> odin-system.txt
  1. O.D.I.N. version -- visible in the web UI footer or via the API:
curl -s http://localhost:8000/api/v1/health | python3 -m json.tool
tip

Zip these files together and attach them to your GitHub issue or support request. The more context you provide, the faster the issue can be diagnosed.

warning

Logs may contain printer IP addresses and hostnames. If you're posting logs publicly, review them first and redact anything sensitive.