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
|
**Last Updated:** 2026-01-20
|
||||||
|
|
||||||
This document lists all static IP assignments for Docker containers on Unraid.
|
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)
|
### Core Infrastructure (172.18.0.2 - 172.18.0.10)
|
||||||
|
|
||||||
| Container | Static IP | Purpose |
|
| Container | Static IP | Purpose | Config |
|
||||||
|-----------|-----------|---------|
|
|-----------|-----------|---------|--------|
|
||||||
| dockersocket | 172.18.0.2 | Docker socket proxy |
|
| dockersocket | 172.18.0.2 | Docker socket proxy | Template |
|
||||||
| traefik | 172.18.0.3 | Reverse proxy |
|
| traefik | 172.18.0.3 | Reverse proxy | Template |
|
||||||
| homarr | 172.18.0.4 | Dashboard |
|
| homarr | 172.18.0.4 | Dashboard | Template |
|
||||||
|
|
||||||
### Security (172.18.0.11 - 172.18.0.15)
|
### Security (172.18.0.11 - 172.18.0.15)
|
||||||
|
|
||||||
| Container | Static IP | Purpose |
|
| Container | Static IP | Purpose | Config |
|
||||||
|-----------|-----------|---------|
|
|-----------|-----------|---------|--------|
|
||||||
| authentik | 172.18.0.11 | Identity provider |
|
| authentik | 172.18.0.11 | Identity provider | Template |
|
||||||
| authentik-worker | 172.18.0.12 | Authentik worker |
|
| authentik-worker | 172.18.0.12 | Authentik worker | Template |
|
||||||
| postgresql17 | 172.18.0.13 | PostgreSQL database |
|
| postgresql17 | 172.18.0.13 | PostgreSQL database | Template |
|
||||||
| Redis | 172.18.0.14 | Redis cache |
|
| Redis | 172.18.0.14 | Redis cache | Template |
|
||||||
| vaultwarden | 172.18.0.15 | Password manager |
|
| vaultwarden | 172.18.0.15 | Password manager | Template |
|
||||||
|
|
||||||
### Productivity (172.18.0.16 - 172.18.0.30)
|
### Productivity (172.18.0.16 - 172.18.0.30)
|
||||||
|
|
||||||
| Container | Static IP | Purpose |
|
| Container | Static IP | Purpose | Config |
|
||||||
|-----------|-----------|---------|
|
|-----------|-----------|---------|--------|
|
||||||
| actual-budget | 172.18.0.16 | Budget tracking |
|
| actual-budget | 172.18.0.16 | Budget tracking | Template |
|
||||||
| n8n | 172.18.0.17 | Workflow automation |
|
| n8n | 172.18.0.17 | Workflow automation | Template |
|
||||||
| Uptime-Kuma-API | 172.18.0.18 | Uptime API |
|
| Uptime-Kuma-API | 172.18.0.18 | Uptime API | Template |
|
||||||
| AutoKuma | 172.18.0.19 | Auto Kuma config |
|
| AutoKuma | 172.18.0.19 | Auto Kuma config | Template |
|
||||||
| UptimeKuma | 172.18.0.20 | Uptime monitoring |
|
| UptimeKuma | 172.18.0.20 | Uptime monitoring | Template |
|
||||||
| speedtest-tracker | 172.18.0.21 | Speed test tracking |
|
| speedtest-tracker | 172.18.0.21 | Speed test tracking | Template |
|
||||||
| DoH-Server | 172.18.0.22 | DNS over HTTPS |
|
| DoH-Server | 172.18.0.22 | DNS over HTTPS | Template |
|
||||||
| Libation | 172.18.0.23 | Audiobook manager |
|
| Libation | 172.18.0.23 | Audiobook manager | Template |
|
||||||
| Nextcloud | 172.18.0.24 | Cloud storage |
|
| Nextcloud | 172.18.0.24 | Cloud storage | Template |
|
||||||
| karakeep | 172.18.0.25 | Bookmark manager |
|
| karakeep | 172.18.0.25 | Bookmark manager | Template |
|
||||||
| transmission | 172.18.0.26 | Torrent client |
|
| transmission | 172.18.0.26 | Torrent client | Template |
|
||||||
|
|
||||||
### DevOps (172.18.0.31 - 172.18.0.40)
|
### DevOps (172.18.0.31 - 172.18.0.40)
|
||||||
|
|
||||||
| Container | Static IP | Purpose |
|
| Container | Static IP | Purpose | Config |
|
||||||
|-----------|-----------|---------|
|
|-----------|-----------|---------|--------|
|
||||||
| gitea | 172.18.0.31 | Git server |
|
| gitea | 172.18.0.31 | Git server | Compose |
|
||||||
| woodpecker-server | 172.18.0.32 | CI/CD server |
|
| woodpecker-server | 172.18.0.32 | CI/CD server | Compose |
|
||||||
| woodpecker-agent | 172.18.0.33 | CI/CD agent |
|
| woodpecker-agent | 172.18.0.33 | CI/CD agent | Compose |
|
||||||
|
|
||||||
### NetDisco (172.18.0.41 - 172.18.0.50)
|
### NetDisco (172.18.0.41 - 172.18.0.50)
|
||||||
|
|
||||||
| Container | Static IP | Purpose |
|
| Container | Static IP | Purpose | Config |
|
||||||
|-----------|-----------|---------|
|
|-----------|-----------|---------|--------|
|
||||||
| netdisco-web | 172.18.0.41 | NetDisco web UI |
|
| netdisco-web | 172.18.0.41 | NetDisco web UI | Compose |
|
||||||
| netdisco-backend | 172.18.0.42 | NetDisco SNMP poller |
|
| netdisco-backend | 172.18.0.42 | NetDisco SNMP poller | Compose |
|
||||||
|
|
||||||
### Fossorial/Pangolin (172.18.0.51 - 172.18.0.60)
|
### Fossorial/Pangolin (172.18.0.51 - 172.18.0.60)
|
||||||
|
|
||||||
| Container | Static IP | Purpose |
|
| Container | Static IP | Purpose | Config |
|
||||||
|-----------|-----------|---------|
|
|-----------|-----------|---------|--------|
|
||||||
| pangolin | 172.18.0.51 | Pangolin tunnel |
|
| 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
|
Static IP range: 172.24.0.2 - 172.24.0.20
|
||||||
|
|
||||||
| Container | Static IP | Purpose |
|
| Container | Static IP | Purpose | Config |
|
||||||
|-----------|-----------|---------|
|
|-----------|-----------|---------|--------|
|
||||||
| netbox-redis | 172.24.0.2 | NetBox Redis |
|
| netbox-redis | 172.24.0.2 | NetBox Redis | Compose |
|
||||||
| netbox-redis-cache | 172.24.0.3 | NetBox Redis cache |
|
| netbox-redis-cache | 172.24.0.3 | NetBox Redis cache | Compose |
|
||||||
| netbox-postgres | 172.24.0.4 | NetBox PostgreSQL |
|
| netbox-postgres | 172.24.0.4 | NetBox PostgreSQL | Compose |
|
||||||
| netbox | 172.24.0.5 | NetBox web UI |
|
| netbox | 172.24.0.5 | NetBox web UI | Compose |
|
||||||
| netbox-worker | 172.24.0.6 | NetBox worker |
|
| netbox-worker | 172.24.0.6 | NetBox worker | Compose |
|
||||||
| netbox-housekeeping | 172.24.0.7 | NetBox housekeeping |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -86,11 +86,11 @@ Static IP range: 172.24.0.2 - 172.24.0.20
|
|||||||
|
|
||||||
These containers have direct LAN access via macvlan.
|
These containers have direct LAN access via macvlan.
|
||||||
|
|
||||||
| Container | Static IP | Purpose |
|
| Container | Static IP | Purpose | Config |
|
||||||
|-----------|-----------|---------|
|
|-----------|-----------|---------|--------|
|
||||||
| binhex-official-pihole | 192.168.31.4 | DNS sinkhole |
|
| binhex-official-pihole | 192.168.31.4 | DNS sinkhole | Template |
|
||||||
| unbound | 192.168.31.5 | Recursive DNS |
|
| unbound | 192.168.31.5 | Recursive DNS | Template |
|
||||||
| TimeMachine | 192.168.31.12 | Time Machine backup |
|
| 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
|
| Stack | Location | Containers |
|
||||||
# Disconnect from network
|
|-------|----------|------------|
|
||||||
docker network disconnect <network> <container>
|
| 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
|
## Maintenance
|
||||||
|
|
||||||
When recreating containers, ensure static IPs are preserved by:
|
### Recreate Compose Containers
|
||||||
1. Using `--ip` flag in `docker run`
|
```bash
|
||||||
2. Or running the disconnect/connect commands after container creation
|
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