Android & desktop out · iOS coming soon
App docs
Install the client, point it at your DockLog server, sign in. This page covers connection settings, notifications, and the stuff that usually breaks behind a proxy.
No DockLog account
Just your server URL and whatever login that instance uses. Traffic goes straight to your box. We don't run auth or store your logs.
Try the live demo
No self-hosted server required to explore DockLog. Use our public demo instance in a browser or in the native app.
| URL | https://demo.docklog.dev |
|---|---|
| Username | demo |
| Password | Demo@1106 |
Shared public demo environment. Do not store production secrets or sensitive data here.
Download
Google Play
Phone and tablet. Requires Android 8+.
- Install from Google Play
- Open the app and tap Connect Server
App Store
Coming soon to the App Store. Until then, use the web UI in Safari on Mac or iPhone.
Linux (amd64)
Direct download from GitHub. Not in Flathub or Snap yet.
- Debian/Ubuntu: sudo dpkg -i docklog_1.0.0_amd64.deb
- Other distros: chmod +x the AppImage, then run it
Windows (x64)
Direct download. Not in the Microsoft Store yet.
- Download and unzip docklog-windows-x64.zip
- Run docklog.exe. No installer required
Desktop builds on GitHub (v1.0.0). No server yet? Start here.
Quick start
- 1
Check the server in a browser
Open your DockLog URL on a laptop first, or try https://demo.docklog.dev (demo / Demo@1106). If login works there, the app will too.
- 2
Add it in the app
Tap + or "Connect Server" on the servers screen.
- 3
Fill in URL and credentials
Name it something you'll recognize, paste the base URL, username/password if auth is on. Advanced Settings is there for TLS quirks and extra headers.
- 4
Connect
Tap Connect Server. You should land on the container list with live stats.
Connect a server
| Field | Description |
|---|---|
| Connection name | Whatever label you want: "prod", "homelab", etc. |
| Server URL | Scheme, host, port. Example: https://docklog.example.com:8888 |
| Username / password | Same login as the web UI. Leave blank if you run without auth (not recommended on the public internet). |
Example URLs
# Public HTTPS (recommended)
https://docklog.example.com
# Local LAN
http://192.168.1.100:8888Behind nginx or Cloudflare?
Forward /api and /ws, enable WebSocket upgrades, use a real cert in prod. Miss any of that and the app connects but logs sit frozen.
Advanced settings
On the connect screen, open Advanced Settings when the defaults aren't enough.
Connection timeout
How long to wait on the API before giving up. 3–60s, default 60.
Skip TLS verification
For self-signed certs on a trusted LAN. Don't use this on the open internet.
Resolve host to IP
Dial a fixed IP but keep the hostname in the URL so TLS/SNI still matches. Handy when DNS is weird.
Custom HTTP headers
Cloudflare Access, tailscale funnel, whatever your gateway needs. One header per line.
# Cloudflare Access example headers
CF-Access-Client-Id: your-client-id
CF-Access-Client-Secret: your-client-secretWhat it does
Multiple servers
Save prod, staging, homelab, whatever you run. Switch nodes without typing the password again.
Live logs
Open a container and watch stdout/stderr as it prints. Same WebSocket feed as the web UI, not a cached copy.
Container actions
Start, stop, restart when your DockLog user is allowed to. Same RBAC as the browser.
Host stats
CPU and memory charts on the server. Pick 1H through 24H.
Event alerts
Docker events over the same WebSocket. On phone, you can get a tray notification when the app is in the background.
App lock
Optional PIN plus Face ID / fingerprint. Passwords live in Keychain or Keystore, not in plain text.
Live logs
From the dashboard, tap a container to open its log view. Lines arrive over WebSocket as Docker streams them. If the connection drops, the app retries automatically.
- Filter: search box at the top; type
error, a path, an ID, whatever you need - Older lines: scroll up and tap load more to pull history in batches without leaving the screen
- Pause & catch up: pause the stream to read; jump back to the live edge when you're done
- Level highlighting: errors, warnings, and HTTP 4xx/5xx stand out in the terminal view
- Buffer size: set how many lines to keep in memory under Preferences (100–5000)
Preferences
- Light / dark / follow system
- How often the dashboard refreshes
- Which Docker events ping you
Notifications
Start, stop, die, health_check. Same event stream as the web UI, over WebSocket. When the app is open you get a toast. When it's in the background on mobile, a normal OS notification if you granted permission.
Not push from us
No Firebase, no relay. Your phone keeps a WebSocket open to your server while the OS allows it. Force-quit the app and alerts stop until you open it again.
Android 13+ and iOS
You have to allow notifications in system settings the first time. If you denied it, fix that in Settings. The app can't prompt again from inside.
Security & privacy
Passwords on device
Keychain on iOS, Keystore on Android. We don't upload them anywhere.
App lock
Optional PIN or biometrics. The OS handles Face ID / fingerprint. We only get pass/fail.
Straight to your server
HTTP or HTTPS, your call. Use HTTPS on anything reachable from the internet.
No analytics SDKs
No Firebase Analytics, no crash reporters, no ad networks in the binary.
More in the App Privacy Policy
Per platform
Android
- On Wi‑Fi, point at your server's LAN IP, e.g.
http://192.168.1.100:8888. Phone and server need to be on the same network. - Android 13+ asks for notification permission separately.
iOS
- Use a hostname or LAN IP your iPhone can reach on Wi‑Fi, not cellular-only.
- App lock uses Face ID / Touch ID if you already set that up in iOS settings.
Linux & Windows
- Same URL and login as phone. It's one codebase.
- Layout stretches on wide monitors; still usable in a small window.
- PIN / biometrics where the desktop OS supports it.
Troubleshooting
Can't reach the server
- Double-check the URL and that DockLog is actually running there.
- Phone on Wi‑Fi: use your server's LAN address, not 127.0.0.1.
- Firewall or nginx/traefik not forwarding /api and /ws.
Logs won't stream (WebSocket dies)
- Proxy needs Upgrade and Connection headers. Easy to forget behind nginx.
- Some CDNs block or buffer WebSockets until you turn pass-through on.
- Stale session. Remove the server and add it again, or log out and back in.
Certificate errors
- Self-signed cert: turn on Skip TLS Verification in Advanced Settings (homelab only).
- Connecting by IP but cert is for a hostname: try Resolve host to IP and keep the hostname in the URL for SNI.
No notifications
- OS denied permission. Check Settings → Notifications for DockLog.
- You swiped the app away / force-stopped it. WebSocket is gone until you open the app again.
- Filters turned off in the app's notification settings.
Links
Last updated: June 10, 2026