Files
infrastructure/docs/13-CONTAINER-IP-ASSIGNMENTS.md
XTRM-Unraid 266a45125a
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Update docs: Slurpit deployment, static IPs, Traefik fixes
- Added Slurpit server stack (6 containers) to infrastructure
- Updated service table with all current containers and static IPs
- Documented docker-compose managed stacks
- Added Slurpit, NetBox plugin fixes to changelog
- Fixed actual-budget and netbox Traefik routing
- Updated container IP assignments with Slurpit stack
2026-01-21 12:50:57 +02:00

184 lines
5.7 KiB
Markdown

# Container Static IP Assignments
**Last Updated:** 2026-01-21
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 | Template |
| Redis | 172.18.0.14 | Redis cache | 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 |
### 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 Network (172.24.0.0/16)
Static IP range: 172.24.0.2 - 172.24.0.20
| Container | Static IP | Purpose | Config |
|-----------|-----------|---------|--------|
| netbox-redis | 172.24.0.2 | NetBox Redis | Compose |
| netbox-redis-cache | 172.24.0.3 | NetBox Redis cache | Compose |
| netbox-postgres | 172.24.0.4 | NetBox PostgreSQL | Compose |
| netbox | 172.24.0.5 | NetBox web UI | Compose |
| netbox-worker | 172.24.0.6 | NetBox worker | Compose |
**Note:** NetBox container is also on dockerproxy network for Traefik access.
---
## 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 |
|-----------|-----------|---------|--------|
| binhex-official-pihole | 192.168.31.4 | DNS sinkhole | Template |
| 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 |
| nebula-sync | Nebula mesh sync |
---
## 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` |
---
## Unraid Docker Templates
Templates are stored in `/boot/config/plugins/dockerMan/templates-user/`.
Each template includes `<MyIP>` and `<ExtraParams>--ip=X.X.X.X</ExtraParams>` for static IP assignment.
---
## 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'
```