4ed2a6cbae
- app.py: ConfigManager now uses CONFIG_DIR env var for config file path instead of hardcoded './config/cell_config.json' — config was being read from the image's working directory, making all settings writes ephemeral (lost on container restart) - wireguard_manager: generate_config uses configured address/port instead of hardcoded 10.0.0.1 in DNAT rules and Address field - scripts/setup_cell.py: full setup script — generates WireGuard keys (wg binary or Python cryptography fallback), writes wg0.conf and cell_config.json with correct _identity key; CELL_NAME / VPN_ADDRESS / WG_PORT env vars - Makefile: setup target passes env vars through; build-api / build-webui targets - README: replace install.sh references with make setup && make start Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>