# PnvPanel — пример переменных окружения. # Скопируй в .env и заполни значения. Ключи вида Section__Key биндятся в IOptions ASP.NET Core. # ВСЕ значения-секреты ниже обязательно заменить перед запуском (особенно *_PASSWORD, *SigningKey, *BotToken). # ── PostgreSQL (контейнер db) ───────────────────────────────────────────── POSTGRES_DB=pnvpanel POSTGRES_USER=pnvpanel POSTGRES_PASSWORD=change-me-strong-db-password # Строка подключения приложения (host = имя сервиса БД в docker-compose) ConnectionStrings__Default=Host=db;Port=5432;Database=pnvpanel;Username=pnvpanel;Password=change-me-strong-db-password # ── JWT ─────────────────────────────────────────────────────────────────── Jwt__Issuer=PnvPanel Jwt__Audience=PnvPanel Jwt__SigningKey=change-me-min-32-chars-random-secret Jwt__AccessTokenMinutes=15 Jwt__RefreshTokenDays=30 # ── Data Protection (шифрование секретов нод 3x-ui at-rest) ──────────────── # Путь к тому с key-ring (должен быть примонтирован и переживать перезапуск контейнера) DataProtection__KeyRingPath=/app/keys # ── Сид администратора (создаётся при первом старте, если не существует) ─── # Логин в систему — по username. Email в системе не используется. AdminSeed__Username=admin AdminSeed__Password=change-me-strong-admin-password # Telegram id(ы) администраторов (через запятую). Дают права админа в боте # и получают уведомления о запросах на активацию. Узнать id: @userinfobot. AdminSeed__TelegramUserIds=123456789 # ── Роли по умолчанию ───────────────────────────────────────────────────── # Квота конфигов для системной роли "user" (выдаётся при регистрации). Roles__DefaultUserMaxConfigs=3 # ── Rate limiting ──────────────────────────────────────────────────────── # Лимит запросов/мин на auth-эндпоинты (login/register/refresh/telegram/subscription). По умолчанию 20. # RateLimiting__AuthPermitLimit=20 # ── Telegram-бот ────────────────────────────────────────────────────────── # Если BotToken пуст — бот не стартует, панель работает без него. Telegram__BotToken= Telegram__BotUsername=PnvPanelBot Telegram__Mode=LongPolling # Для Mode=Webhook: # Telegram__WebhookUrl=https://panel.example.com/tg/webhook # Telegram__WebhookSecret=change-me-webhook-secret # ── Приложение ──────────────────────────────────────────────────────────── # Публичный URL сайта (для deep-link'ов бота и ссылок). App__PublicSiteUrl=https://panel.example.com # CORS-источники (для dev; в проде фронт и бек — один origin). App__CorsOrigins=http://localhost:5173 # ── ASP.NET Core ────────────────────────────────────────────────────────── ASPNETCORE_ENVIRONMENT=Production ASPNETCORE_HTTP_PORTS=8080