- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands - CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround - CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check - NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere - MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates - LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference Co-authored-by: Cursor <cursoragent@cursor.com>
5.6 KiB
Persistent Network Configuration - Complete
Date: January 19, 2026
Node: r630-01 (192.168.11.11)
Status: ✅ COMPLETE - Network configuration persists across restarts
Summary
Issue: Network configuration was temporary and lost on container restart
Solution: Implemented multiple layers of network configuration persistence
Result: ✅ Network configuration now persists across container restarts
Configuration Methods Applied
1. Proxmox Network Configuration ✓
Status: Already configured correctly
- All containers have
onboot=1set - Network configuration in Proxmox config:
net0: name=eth0,bridge=vmbr0,gw=192.168.11.1,ip=<IP>/24 - Proxmox should apply this on container start
2. Proxmox Hook Script ✓
Location: /var/lib/vz/snippets/configure-network.sh
Purpose: Runs on container start to ensure network is configured
Script:
#!/bin/bash
# Proxmox hook script to configure network on container start
vmid=$1
phase=$2
if [ "$phase" = "post-start" ]; then
sleep 2
ip=$(pct config $vmid | grep '^net0:' | grep -oP 'ip=\K[^,]+' | cut -d'/' -f1)
gateway=$(pct config $vmid | grep '^net0:' | grep -oP 'gw=\K[^,]+')
if [ -n "$ip" ] && [ -n "$gateway" ]; then
pct exec $vmid -- ip link set eth0 up 2>/dev/null || true
pct exec $vmid -- ip addr add ${ip}/24 dev eth0 2>/dev/null || true
pct exec $vmid -- ip route add default via ${gateway} dev eth0 2>/dev/null || true
fi
fi
Applied to: All 18 reassigned containers
3. Container Startup Script ✓
Location: /usr/local/bin/configure-network.sh (inside each container)
Purpose: Backup network configuration script inside container
Script:
#!/bin/bash
# Auto-configure network on boot
sleep 2
ip link set eth0 up 2>/dev/null || true
ip addr add <IP>/24 dev eth0 2>/dev/null || true
ip route add default via 192.168.11.1 dev eth0 2>/dev/null || true
Activation: Via systemd service or crontab @reboot (where possible)
Containers Configured
All 18 reassigned containers now have persistent network configuration:
| VMID | Hostname | IP Address | Hookscript | Startup Script |
|---|---|---|---|---|
| 10000 | order-postgres-primary | 192.168.11.44 | ✅ | ✅ |
| 10001 | order-postgres-replica | 192.168.11.45 | ✅ | ✅ |
| 10020 | order-redis | 192.168.11.38 | ✅ | ✅ |
| 10030 | order-identity | 192.168.11.40 | ✅ | ✅ |
| 10040 | order-intake | 192.168.11.41 | ✅ | ✅ |
| 10050 | order-finance | 192.168.11.49 | ✅ | ✅ |
| 10060 | order-dataroom | 192.168.11.42 | ✅ | ✅ |
| 10070 | order-legal | 192.168.11.50 | ✅ | ✅ |
| 10080 | order-eresidency | 192.168.11.43 | ✅ | ✅ |
| 10090 | order-portal-public | 192.168.11.36 | ✅ | ✅ |
| 10091 | order-portal-internal | 192.168.11.35 | ✅ | ✅ |
| 10092 | order-mcp-legal | 192.168.11.37 | ✅ | ✅ |
| 10200 | order-prometheus | 192.168.11.46 | ✅ | ✅ |
| 10201 | order-grafana | 192.168.11.47 | ✅ | ✅ |
| 10202 | order-opensearch | 192.168.11.48 | ✅ | ✅ |
| 10210 | order-haproxy | 192.168.11.39 | ✅ | ✅ |
| 10230 | order-vault | 192.168.11.51 | ✅ | ✅ |
| 10232 | CT10232 | 192.168.11.52 | ✅ | ✅ |
How It Works
On Container Start:
- Proxmox applies network config from container configuration
- Hook script runs (
post-startphase) and ensures network is configured - Container startup script (if systemd/cron is available) provides additional backup
Network Configuration Steps:
# Inside container (via hook script or startup script):
ip link set eth0 up
ip addr add <IP>/24 dev eth0
ip route add default via 192.168.11.1 dev eth0
Verification
Test Results:
✅ Network persists after restart: Containers maintain IP configuration
✅ Connectivity maintained: Containers can reach gateway and each other
✅ Multiple fallbacks: Three layers of network configuration ensure reliability
Test Command:
# Restart a container and verify network
pct stop <VMID>
pct start <VMID>
sleep 8
pct exec <VMID> -- ip addr show eth0 | grep 'inet '
pct exec <VMID> -- ping -c 2 192.168.11.1
Scripts Created
-
scripts/configure-persistent-networks-v3.sh- Creates network setup scripts in containers
- Sets up systemd services or crontab entries
- Ensures onboot=1 for all containers
-
Proxmox Hook Script:
/var/lib/vz/snippets/configure-network.sh- Runs automatically on container start
- Configures network from Proxmox config
- Works for all containers
Maintenance
Adding New Containers:
-
Set network configuration in Proxmox:
pct set <VMID> --net0 name=eth0,bridge=vmbr0,ip=<IP>/24,gw=192.168.11.1 pct set <VMID> --onboot 1 pct set <VMID> --hookscript local:snippets/configure-network.sh -
The hook script will automatically configure the network on start
Troubleshooting:
If network doesn't come up after restart:
- Check Proxmox config:
pct config <VMID> | grep net0 - Check hook script:
cat /var/lib/vz/snippets/configure-network.sh - Manually configure:
pct exec <VMID> -- /usr/local/bin/configure-network.sh - Check logs:
journalctl -u configure-network(if systemd service exists)
Summary
- Configuration Methods: 3 layers (Proxmox config, hook script, startup script)
- Containers Configured: 18/18
- Persistence: ✅ Network configuration survives container restarts
- Reliability: Multiple fallbacks ensure network is always configured
Last Updated: January 19, 2026