Update container IP assignments - add compose file locations and persistent config
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

- All dockerproxy containers now have static IPs via Unraid templates
- NetBox, NetDisco, Gitea, Woodpecker, Pangolin use docker-compose with static IPs
- br0 macvlan containers have static IPs via templates
- Documented compose file locations for maintenance
- Removed housekeeping container (not functional)
This commit is contained in:
2026-01-20 23:15:05 +02:00
parent b8cf34aedf
commit 80073c61d3

View File

@@ -3,6 +3,7 @@
**Last Updated:** 2026-01-20
This document lists all static IP assignments for Docker containers on Unraid.
Static IPs are now configured in docker-compose files and Unraid templates for persistence.
---
@@ -12,58 +13,58 @@ 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 |
|-----------|-----------|---------|
| dockersocket | 172.18.0.2 | Docker socket proxy |
| traefik | 172.18.0.3 | Reverse proxy |
| homarr | 172.18.0.4 | Dashboard |
| 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 |
|-----------|-----------|---------|
| authentik | 172.18.0.11 | Identity provider |
| authentik-worker | 172.18.0.12 | Authentik worker |
| postgresql17 | 172.18.0.13 | PostgreSQL database |
| Redis | 172.18.0.14 | Redis cache |
| vaultwarden | 172.18.0.15 | Password manager |
| 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 |
|-----------|-----------|---------|
| actual-budget | 172.18.0.16 | Budget tracking |
| n8n | 172.18.0.17 | Workflow automation |
| Uptime-Kuma-API | 172.18.0.18 | Uptime API |
| AutoKuma | 172.18.0.19 | Auto Kuma config |
| UptimeKuma | 172.18.0.20 | Uptime monitoring |
| speedtest-tracker | 172.18.0.21 | Speed test tracking |
| DoH-Server | 172.18.0.22 | DNS over HTTPS |
| Libation | 172.18.0.23 | Audiobook manager |
| Nextcloud | 172.18.0.24 | Cloud storage |
| karakeep | 172.18.0.25 | Bookmark manager |
| transmission | 172.18.0.26 | Torrent client |
| 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 |
|-----------|-----------|---------|
| gitea | 172.18.0.31 | Git server |
| woodpecker-server | 172.18.0.32 | CI/CD server |
| woodpecker-agent | 172.18.0.33 | CI/CD agent |
| 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 |
|-----------|-----------|---------|
| netdisco-web | 172.18.0.41 | NetDisco web UI |
| netdisco-backend | 172.18.0.42 | NetDisco SNMP poller |
| 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 |
|-----------|-----------|---------|
| pangolin | 172.18.0.51 | Pangolin tunnel |
| Container | Static IP | Purpose | Config |
|-----------|-----------|---------|--------|
| pangolin | 172.18.0.51 | Pangolin tunnel | Compose |
---
@@ -71,14 +72,13 @@ Static IP range: 172.18.0.2 - 172.18.0.99
Static IP range: 172.24.0.2 - 172.24.0.20
| Container | Static IP | Purpose |
|-----------|-----------|---------|
| netbox-redis | 172.24.0.2 | NetBox Redis |
| netbox-redis-cache | 172.24.0.3 | NetBox Redis cache |
| netbox-postgres | 172.24.0.4 | NetBox PostgreSQL |
| netbox | 172.24.0.5 | NetBox web UI |
| netbox-worker | 172.24.0.6 | NetBox worker |
| netbox-housekeeping | 172.24.0.7 | NetBox housekeeping |
| 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 |
---
@@ -86,11 +86,11 @@ Static IP range: 172.24.0.2 - 172.24.0.20
These containers have direct LAN access via macvlan.
| Container | Static IP | Purpose |
|-----------|-----------|---------|
| binhex-official-pihole | 192.168.31.4 | DNS sinkhole |
| unbound | 192.168.31.5 | Recursive DNS |
| TimeMachine | 192.168.31.12 | Time Machine backup |
| 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 |
---
@@ -123,24 +123,41 @@ These containers share the host network stack.
---
## IP Assignment Command
## Docker Compose Files
To assign a static IP to a container:
Compose-managed stacks with persistent static IPs:
```bash
# Disconnect from network
docker network disconnect <network> <container>
| Stack | Location | Containers |
|-------|----------|------------|
| NetBox | `/mnt/user/appdata/netbox/docker-compose.yml` | netbox, netbox-worker, netbox-postgres, netbox-redis, netbox-redis-cache |
| NetDisco | `/mnt/user/appdata/netdisco/docker-compose.yml` | netdisco-web, netdisco-backend |
| Gitea | `/mnt/user/appdata/gitea/docker-compose.yml` | gitea |
| Woodpecker | `/mnt/user/appdata/woodpecker/docker-compose.yml` | woodpecker-server, woodpecker-agent |
| Pangolin | `/mnt/user/appdata/pangolin/docker-compose.yml` | pangolin |
# Reconnect with static IP
docker network connect --ip <ip> <network> <container>
```
---
**Note:** Static IPs only work on user-defined networks (not the default `bridge`).
## 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
When recreating containers, ensure static IPs are preserved by:
1. Using `--ip` flag in `docker run`
2. Or running the disconnect/connect commands after container creation
### 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}}'
```