Installation
O.D.I.N. runs as a single Docker container. Install it on any Linux or macOS machine in under a minute.
Prerequisites
| Requirement | Minimum |
|---|---|
| Docker Engine | 20.10+ |
| Docker Compose | v2+ |
| RAM | 2 GB (typical runtime ~256 MB) |
| Disk | 10 GB |
O.D.I.N. supports amd64 and arm64 architectures. It runs natively on Raspberry Pi 4/5, Intel NUCs, and cloud VMs.
Quick Install (Recommended)
Run the one-liner installer:
curl -fsSL https://get.runsodin.com/install.sh | bash
This script downloads the Docker Compose file, creates the data directory, and starts the container.
Manual Install
If you prefer to set things up yourself:
mkdir odin && cd odin
curl -fsSL https://get.runsodin.com/docker-compose.yml -o docker-compose.yml
docker compose up -d
That's it. The container handles everything else on first boot -- generating secrets, initializing the database, and starting all services.
Post-Install
Open your browser and navigate to:
http://your-server-ip:8000
You'll be greeted by the setup wizard. See First Login & Setup for the walkthrough.
Ports
| Port | Service | Purpose |
|---|---|---|
| 8000 | Web UI / API | Main application |
| 1984 | go2rtc API | Camera streaming (HLS) |
| 8555 | WebRTC | Camera streaming (low-latency) |
If you're running behind a firewall, ensure ports 8000, 1984, and 8555 are open. WebRTC on port 8555 requires UDP access for low-latency camera feeds.
Updating
Pull the latest image and restart:
docker compose pull && docker compose up -d
Your data persists in the ./odin-data volume. Updates never touch your database, configuration, or uploaded files.
Uninstalling
Stop the container and remove it:
docker compose down
To remove all data, delete the odin-data directory. This is irreversible.