# python scripts/gen_env.py создаёт .env со случайными значениями POSTGRES_DB=ipam POSTGRES_USER=ipam POSTGRES_PASSWORD=change-me # JWT_SECRET — не короче 32 символов (иначе приложение не стартует); ADMIN_PASSWORD — не короче 8 JWT_SECRET=change-me ADMIN_USERNAME=admin ADMIN_PASSWORD=change-me APP_PORT=8088 DB_HOST_PORT=55432 # APP_BIND=127.0.0.1 — публиковать порт приложения только на loopback (за reverse-proxy с TLS); по умолчанию 0.0.0.0 # CIDR доверенных reverse-proxy через запятую (у них берётся X-Forwarded-For); по умолчанию пусто — IP клиента = адрес сокета TRUSTED_PROXIES= # Публикация через общий Caddy на этом же хосте (изменение 034): Caddy ходит на опубликованный порт и приходит # с адреса шлюза Docker-моста — доверять диапазону мостов # TRUSTED_PROXIES=172.16.0.0/12 # Ключ шифрования секретов TOTP (изменение 037), Fernet: python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())" # Не задан — приложение стартует, но 2FA недоступна (503). Потеря ключа означает сброс 2FA всем пользователям. TOTP_ENC_KEY=