Common Issues
Quick fixes for the most frequently reported problems.
Printer Shows Offline
A printer appearing offline means O.D.I.N. can't reach it. Work through these checks in order:
-
Verify the printer's IP address -- make sure the IP configured in O.D.I.N. matches the printer's actual IP. Printers on DHCP may change addresses after a reboot.
-
Check the access code (Bambu printers) -- Bambu Lab printers require an access code for MQTT authentication. Find it on the printer's screen under Settings > General > Access Code.
-
Check your firewall -- the Docker container must be able to reach the printer's IP. Common ports:
- Bambu MQTT:
8883 - Moonraker/Klipper:
7125 - PrusaLink:
80 - Elegoo SDCP:
3000
- Bambu MQTT:
-
Check Docker networking -- if your printers are on a different subnet than the Docker host, verify the container can route to that subnet. Test from inside the container:
docker compose exec odin ping 192.168.1.100
If the printer was working before and suddenly went offline, the most common cause is a DHCP IP change. Assign a static IP to your printers to prevent this.
Camera Not Loading
Camera issues are usually configuration or network related.
-
Verify go2rtc config -- camera streams must be configured in go2rtc. Check the go2rtc admin interface at
http://your-server:1984. -
WebRTC vs RTSP -- WebRTC requires port
8555(UDP) to be open. If WebRTC fails, the UI falls back to HLS via port1984(TCP), which adds a few seconds of latency. -
Port 8555 firewall -- WebRTC uses UDP on port 8555. Many firewalls block UDP by default. If cameras load slowly (HLS fallback) or not at all, open this port.
-
WebRTC candidate IP -- if running on a remote server, set the
webrtc.candidatesin go2rtc config to the server's LAN IP, not127.0.0.1.
AI Detection Not Working
Vigil AI requires a working camera feed to analyze frames.
-
Camera must be configured -- AI detection runs on go2rtc camera frames. If the camera isn't set up, there's nothing to analyze.
-
Check vision models -- the default ONNX models are copied to
/data/vision_models/on first boot. Verify they exist:
docker compose exec odin ls /data/vision_models/
- Check detection settings -- make sure AI detection is enabled for the printer in Settings > Vigil AI.
Container Won't Start
If docker compose up -d fails:
- Port conflicts -- another service may be using port 8000, 1984, or 8555. Check with:
lsof -i :8000
-
Docker version -- O.D.I.N. requires Docker Engine 20.10+ and Docker Compose v2+. Check with
docker --versionanddocker compose version. -
Disk space -- the Docker image and data directory need at least 10 GB free. Check with
df -h. -
Permissions -- the
odin-datadirectory must be writable by the container. On Linux, this is usually fine. On macOS, Docker Desktop handles permissions automatically.
Slow Dashboard
If the dashboard feels sluggish:
-
Number of printers -- large farms (20+ printers) generate more WebSocket traffic. Ensure your server has adequate resources.
-
WebSocket connection -- check that the WebSocket connection is established. Open your browser's developer console and look for WebSocket frames. If the connection keeps reconnecting, there may be a proxy or firewall interfering.
-
Browser console -- check for JavaScript errors in the browser console (
F12> Console tab). Report any errors you see when filing a bug.
If you're running O.D.I.N. behind a reverse proxy (nginx, Caddy, Traefik), make sure WebSocket upgrade headers are passed through. Without this, the dashboard falls back to HTTP polling and feels noticeably slower.