Native App Setup
This guide covers connecting the O.D.I.N. companion app to your self-hosted instance.
Prerequisites
- O.D.I.N. instance running and accessible from your device
- An account on the instance (any role: admin, operator, or viewer)
- The companion app installed from the App Store (iOS) or Google Play (Android)
Step 1: Enter Your Instance URL
Open the app and enter the URL of your O.D.I.N. instance:
http://<host>:<port>
Examples:
http://192.168.1.100:4000— local network, default porthttps://odin.example.com— behind a reverse proxy with TLS
The app validates the URL by hitting the /api/v1/health endpoint. If the connection fails, verify:
- The URL is reachable from your device (try opening it in a mobile browser)
- The port is correct (default:
4000) - If using HTTPS, the certificate is valid (self-signed certs require an additional trust step on mobile)
Step 2: Authenticate
Option A: Username and Password
Enter your O.D.I.N. username and password. If MFA is enabled on your account, you will be prompted for a TOTP code after submitting credentials.
The app receives a session JWT (24-hour expiry) and refreshes it automatically.
Option B: API Token
If you prefer token-based authentication:
- In the O.D.I.N. web UI, go to Settings → Account → API Tokens
- Create a new token with the scopes you need (at minimum:
read:printers,read:jobs) - Copy the token (it starts with
odin_) - In the app, tap Use API Token and paste the token
API tokens do not expire by default and do not require MFA on each login, making them convenient for mobile use.
Step 3: Verify Connection
After authentication, the app loads your printer list. Verify:
- Printer statuses match the web dashboard
- Camera feeds load (if cameras are configured)
- Push notifications arrive (trigger a test from Settings → Notifications → Send Test)
Push Notification Setup
Push notifications require the O.D.I.N. instance to reach external push notification services (APNs for iOS, FCM for Android). If your instance is on an isolated network without outbound internet access, push notifications will not work.
The app registers its device token with the O.D.I.N. instance on login. No additional server-side configuration is needed — push routing is handled automatically.
Multiple Instances
The app supports connecting to multiple O.D.I.N. instances. To add another:
- Open the app settings
- Tap Add Instance
- Repeat the URL and authentication steps
Switch between instances from the instance selector in the app header.
Troubleshooting
| Problem | Solution |
|---|---|
| "Connection failed" on URL entry | Verify the URL is reachable from your device. Check firewall rules and port. |
| Camera feeds show black screen | Ensure go2rtc ports are accessible. WebRTC may need STUN/TURN configuration for remote access. |
| No push notifications | Check that the instance has outbound internet access. Verify notification permissions in your device settings. |
| Token authentication fails | Ensure the token has not been revoked. Create a new token if unsure. |
| Self-signed certificate error | Import the CA certificate to your device's trust store, or switch to a publicly-trusted certificate. |
See Also
- Native Companion Apps — features and platform support
- API Tokens — creating scoped tokens
- Camera Streaming — camera and WebRTC configuration
- MFA Setup — configuring TOTP for your account