# ============================================ # Server Panel Backend Configuration # ============================================ # Application PANEL_NAME=Server Panel DEBUG=false LOG_LEVEL=INFO # Database (matches docker-compose) DB_HOST=db DB_PORT=5432 DB_USER=serverpanel DB_PASSWORD=serverpanel_secure_password DB_NAME=serverpanel DATABASE_URL=postgresql://serverpanel:serverpanel_secure_password@db:5432/serverpanel # JWT Authentication SECRET_KEY=your-very-secure-secret-key-change-this-in-production-minimum-32-chars ALGORITHM=HS256 ACCESS_TOKEN_EXPIRE_MINUTES=1440 # SSH Configuration SSH_TIMEOUT=10 DEFAULT_SSH_USER=root DEFAULT_SSH_PORT=22 # Reject SSH connections to hosts with unknown/changed host keys (mitigates MITM). # Enable in production once your servers' host keys are in known_hosts. SSH_REJECT_UNKNOWN_HOSTS=false # Security # In production set to your actual domain(s), e.g.: https://panel.example.com CORS_ORIGINS=* ALLOWED_HOSTS=localhost,127.0.0.1 # IMPORTANT: Change this before first deployment! ADMIN_PASSWORD=admin123 # Fernet encryption key for sensitive DB fields (Proxmox passwords, cloud-init passwords). # Generate with: python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())" # WARNING: Keep this key safe — losing it means losing access to encrypted passwords. # If not set, passwords are stored as plaintext (insecure). FERNET_KEY= # Update Check Configuration # Note: DISABLE_UPDATE_CHECK and GITHUB_TOKEN are managed via root .env # (see ../.env.example) and passed in docker-compose. Uncomment below only # if running backend standalone without compose. # DISABLE_UPDATE_CHECK=false # GITHUB_TOKEN= # App Store (модуль каталога self-hosted приложений) # Золотой LXC-шаблон (vztmpl) с предустановленным Docker — из него клонируются # контейнеры приложений. Обязателен для установки. Подготовка: docs/golden-template.md. APPSTORE_GOLDEN_TEMPLATE=local:vztmpl/golden-docker_12_amd64.tar.zst # Архитектура целевых нод (amd64|arm64) — для пометки неподдерживаемых приложений. APPSTORE_HOST_ARCH=amd64 # # Источники каталога (через запятую): runtipi, umbrel. По умолчанию только # runtipi. Umbrel включается явно — тогда при синхронизации подтянутся ~380 # приложений из getumbrel/umbrel-apps + их иконки из галереи. # APPSTORE_SOURCES=runtipi,umbrel APPSTORE_SOURCES=runtipi # Репозитории Umbrel (нужны только если включён источник umbrel): # UMBREL_APPSTORE_REPO=getumbrel/umbrel-apps # UMBREL_APPSTORE_REF=master # Иконки Umbrel лежат отдельно (/icon.svg) — тянутся пофайлово с CDN: # UMBREL_APPSTORE_GALLERY_CDN=https://getumbrel.github.io/umbrel-apps-gallery