Update container IP assignments - add compose file locations and persistent config
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
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:
@@ -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}}'
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user