Files
vpn-control-panel/.env.example
smolkik-code 7c7c88621d Initial commit: VPN Control Panel
- 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
2026-07-05 17:50:11 +07:00

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=