- FastAPI REST API with JWT auth - aiogram 3 Telegram bot with admin middleware - APScheduler daily tasks (expiry, reminders, revoke, sync) - SQLAlchemy 2 async ORM with Alembic migrations - Jinja2 admin panel (Dashboard, Users, Payments, Servers, Tariffs) - VPN provider abstraction with MockProvider - Stats service with revenue/subscription analytics - Docker Compose (PostgreSQL + Redis + app) - Healthcheck endpoint
34 lines
581 B
Plaintext
34 lines
581 B
Plaintext
# App
|
|
APP_NAME=VPN Control Panel
|
|
DEBUG=false
|
|
PORT=8000
|
|
|
|
# Database
|
|
POSTGRES_USER=vpn
|
|
POSTGRES_PASSWORD=vpn_secret
|
|
POSTGRES_DB=vpn_control
|
|
POSTGRES_HOST=db
|
|
POSTGRES_PORT=5432
|
|
DATABASE_URL=postgresql+asyncpg://vpn:vpn_secret@db:5432/vpn_control
|
|
|
|
# Redis
|
|
REDIS_URL=redis://redis:6379/0
|
|
|
|
# Telegram Bot
|
|
BOT_TOKEN=your_bot_token_here
|
|
|
|
# Admin
|
|
ADMIN_IDS=[]
|
|
ADMIN_GROUP_ID=0
|
|
ADMIN_GROUP_THREAD_ID=
|
|
JWT_SECRET=change_me_to_random_string
|
|
JWT_ACCESS_EXPIRE_MINUTES=30
|
|
JWT_REFRESH_EXPIRE_DAYS=30
|
|
|
|
# Payment
|
|
# (provider-specific keys)
|
|
|
|
# VPN Providers
|
|
OUTLINE_API_PREFIX=
|
|
OUTLINE_CERT_SHA256=
|