- Removed the `BotUsername` property from `TelegramOptions` and updated the `.env.example` to reflect this change, as the bot's username is now dynamically retrieved via the Bot API. - Introduced `ITelegramBotInfo` to cache the bot's username, improving the handling of deep links in `TelegramEndpoints`. - Updated API documentation to clarify that the deep link is now dependent on the bot's token and its availability through the Bot API, enhancing clarity for developers.
62 lines
5.3 KiB
Bash
62 lines
5.3 KiB
Bash
# PnvPanel — пример переменных окружения.
|
|
# Скопируй в .env и заполни значения. Ключи вида Section__Key биндятся в IOptions<T> 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
|
|
|
|
# ── Роли по умолчанию ─────────────────────────────────────────────────────
|
|
# Квота конфигов для системной роли "user" (выдаётся при регистрации).
|
|
Roles__DefaultUserMaxConfigs=3
|
|
|
|
# ── Rate limiting ────────────────────────────────────────────────────────
|
|
# Лимит запросов/мин на auth-эндпоинты (login/register/refresh/telegram/subscription). По умолчанию 20.
|
|
# RateLimiting__AuthPermitLimit=20
|
|
|
|
# ── Telegram-бот ──────────────────────────────────────────────────────────
|
|
# Если BotToken пуст — бот не стартует, панель работает без него. Транспорт — только long polling
|
|
# (webhook не реализован, отдельного режима/URL для него нет). Username бота для диплинков
|
|
# (кнопка «Привязать Telegram»/QR) панель узнаёт сама через Bot API (getMe) — задавать его отдельно
|
|
# не нужно и негде (раньше был Telegram__BotUsername — убран, чтобы не ломать диплинк опечаткой/пробелом).
|
|
Telegram__BotToken=
|
|
# Telegram id(ы) администраторов (через запятую). Дают права админа в боте (кнопки активации)
|
|
# и получают уведомления о запросах на активацию. Узнать id: @userinfobot.
|
|
# Не связано с сид-админом выше — привязка Telegram к сид-админу делается вручную в UI.
|
|
Telegram__AdminTelegramUserIds=123456789
|
|
# Прокси для запросов к Bot API (обычно socks5://[user:pass@]host:port) — на случай, если Telegram
|
|
# заблокирован напрямую с сети сервера. Пусто (по умолчанию) — без прокси, прямое подключение.
|
|
# Telegram__ProxyUrl=socks5://127.0.0.1:39372
|
|
|
|
# ── ASP.NET Core ──────────────────────────────────────────────────────────
|
|
ASPNETCORE_ENVIRONMENT=Production
|
|
ASPNETCORE_HTTP_PORTS=8080
|
|
|
|
# ── Доверенные прокси (X-Forwarded-For/Proto) ──────────────────────────────
|
|
# TLS терминируется вне compose внешним прокси/шлюзом. Чтобы клиент не мог подделать свой IP/схему
|
|
# напрямую (в обход прокси), по умолчанию доверяется только loopback (дефолт ASP.NET Core). Если
|
|
# прокси стоит не на loopback (отдельный контейнер/хост), перечисли его через запятую — конкретные
|
|
# IP через KnownProxies и/или сети в формате CIDR через KnownNetworks.
|
|
# ForwardedHeaders__KnownProxies=203.0.113.10
|
|
# ForwardedHeaders__KnownNetworks=172.18.0.0/16
|