Files
infrastructure/docs/13-CONTAINER-IP-ASSIGNMENTS.md
XTRM-Unraid 682aceb8e0
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Cleanup: Remove Pi-hole, add AdGuard Home Sync, add Uptime Kuma monitors
- Removed Pi-hole container (using MikroTik AdGuard Home as primary)
- Removed nebula-sync container (not in use)
- Added adguardhome-sync for rule syncing between MikroTik and Unraid AdGuard
- Added 27 monitors to Uptime Kuma for all services
- Updated container IP assignments
- Migrated NetBox to shared postgresql17

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 23:22:42 +02:00

183 lines
5.8 KiB
Markdown

# Container Static IP Assignments
**Last Updated:** 2026-01-22
This document lists all static IP assignments for Docker containers on Unraid.
Static IPs are configured in docker-compose files and Unraid templates for persistence.
---
## dockerproxy Network (172.18.0.0/16)
Static IP range: 172.18.0.2 - 172.18.0.99
### Core Infrastructure (172.18.0.2 - 172.18.0.10)
| Container | Static IP | Purpose | Config |
|-----------|-----------|---------|--------|
| dockersocket | 172.18.0.2 | Docker socket proxy | Template |
| traefik | 172.18.0.3 | Reverse proxy | Template |
| homarr | 172.18.0.4 | Dashboard | Template |
### Security (172.18.0.11 - 172.18.0.15)
| Container | Static IP | Purpose | Config |
|-----------|-----------|---------|--------|
| authentik | 172.18.0.11 | Identity provider | Template |
| authentik-worker | 172.18.0.12 | Authentik worker | Template |
| postgresql17 | 172.18.0.13 | PostgreSQL database (shared) | Template |
| Redis | 172.18.0.14 | Redis cache (Authentik) | Template |
| vaultwarden | 172.18.0.15 | Password manager | Template |
### Productivity (172.18.0.16 - 172.18.0.30)
| Container | Static IP | Purpose | Config |
|-----------|-----------|---------|--------|
| actual-budget | 172.18.0.16 | Budget tracking | Template |
| n8n | 172.18.0.17 | Workflow automation | Template |
| Uptime-Kuma-API | 172.18.0.18 | Uptime API | Template |
| AutoKuma | 172.18.0.19 | Auto Kuma config | Template |
| UptimeKuma | 172.18.0.20 | Uptime monitoring | Template |
| speedtest-tracker | 172.18.0.21 | Speed test tracking | Template |
| DoH-Server | 172.18.0.22 | DNS over HTTPS | Template |
| Libation | 172.18.0.23 | Audiobook manager | Template |
| Nextcloud | 172.18.0.24 | Cloud storage | Template |
| karakeep | 172.18.0.25 | Bookmark manager | Template |
| transmission | 172.18.0.26 | Torrent client | Template |
| adguardhome-sync | 172.18.0.27 | AdGuard Home Sync | Compose |
### DevOps (172.18.0.31 - 172.18.0.40)
| Container | Static IP | Purpose | Config |
|-----------|-----------|---------|--------|
| gitea | 172.18.0.31 | Git server | Compose |
| woodpecker-server | 172.18.0.32 | CI/CD server | Compose |
| woodpecker-agent | 172.18.0.33 | CI/CD agent | Compose |
### NetDisco (172.18.0.41 - 172.18.0.50)
| Container | Static IP | Purpose | Config |
|-----------|-----------|---------|--------|
| netdisco-web | 172.18.0.41 | NetDisco web UI | Compose |
| netdisco-backend | 172.18.0.42 | NetDisco SNMP poller | Compose |
### Fossorial/Pangolin (172.18.0.51 - 172.18.0.60)
| Container | Static IP | Purpose | Config |
|-----------|-----------|---------|--------|
| pangolin | 172.18.0.51 | Pangolin tunnel | Compose |
### NetBox (172.18.0.61 - 172.18.0.70)
| Container | Static IP | Purpose | Config |
|-----------|-----------|---------|--------|
| netbox | 172.18.0.61 | NetBox web UI (DCIM/IPAM) | Compose |
| netbox-worker | 172.18.0.62 | NetBox background worker | Compose |
| netbox-redis | 172.18.0.63 | NetBox Redis (tasks) | Compose |
| netbox-redis-cache | 172.18.0.64 | NetBox Redis (cache) | Compose |
**Note:** NetBox uses shared postgresql17 (172.18.0.13) for database.
---
## slurpit_slurpit-network (Auto-assigned)
Slurp'it stack uses its own internal network with auto-assigned IPs.
Portal is also connected to dockerproxy for Traefik access.
| Container | Purpose | Config |
|-----------|---------|--------|
| slurpit-portal | Web UI | Compose |
| slurpit-scanner | Network scanner | Compose |
| slurpit-scraper | Device data collector | Compose |
| slurpit-warehouse | Data API | Compose |
| slurpit-mariadb | Portal database | Compose |
| slurpit-mongodb | Discovery database | Compose |
---
## br0 Network (LAN Macvlan - 192.168.31.x)
These containers have direct LAN access via macvlan.
| Container | Static IP | Purpose | Config |
|-----------|-----------|---------|--------|
| unbound | 192.168.31.5 | Recursive DNS | Template |
| TimeMachine | 192.168.31.12 | Time Machine backup | Template |
---
## bridge Network (172.17.0.0/16)
Default Docker bridge - dynamic IPs (no static assignment supported).
| Container | Purpose |
|-----------|---------|
| portainer | Container management |
| rustdesk-hbbs | RustDesk signaling |
| rustdesk-hbbr | RustDesk relay |
| rustfs | Rust filesystem |
---
## Host Network
These containers share the host network stack.
| Container | Purpose |
|-----------|---------|
| unimus | Network config backup |
| UrBackup | Backup server |
| NetAlertX | Network scanner |
| plex | Media server |
| HomeAssistant_inabox | Home automation |
| stunnel-dot | DNS over TLS |
---
## Shared PostgreSQL Database (postgresql17)
| Database | User | Used By |
|----------|------|---------|
| authentik_db | authentik_user | Authentik |
| netbox | netbox_user | NetBox |
| gitea | gitea_user | Gitea |
| netdisco_user | netdisco_user | NetDisco |
---
## Docker Compose Files
| Stack | Location |
|-------|----------|
| NetBox | `/mnt/user/appdata/netbox/docker-compose.yml` |
| NetDisco | `/mnt/user/appdata/netdisco/docker-compose.yml` |
| Gitea | `/mnt/user/appdata/gitea/docker-compose.yml` |
| Woodpecker | `/mnt/user/appdata/woodpecker/docker-compose.yml` |
| Pangolin | `/mnt/user/appdata/pangolin/docker-compose.yml` |
| Slurp'it | `/mnt/user/appdata/slurpit/docker-compose.yml` |
| AdGuard Home Sync | `/mnt/user/appdata/adguard-sync/docker-compose.yml` |
---
## Maintenance
### Recreate Compose Containers
```bash
cd /mnt/user/appdata/<stack>
docker compose down
docker compose up -d
```
### Update Template Container
Use Unraid Docker UI to update/recreate - static IP is preserved in template.
### Verify IPs
```bash
# Check all IPs on a network
docker network inspect <network> --format '{{range .Containers}}{{.Name}}: {{.IPv4Address}}{{"\n"}}{{end}}'
# Check specific container
docker inspect <container> | jq '.[0].NetworkSettings.Networks'
```