Files
enigFM/backend/app/config.py
mamonov.ep 487da10365 Improve mini-player and add periodic sync
- Redesign mini-player: progress bar on top, centered controls
- Add vertical volume slider with popup on hover
- Add volume percentage display
- Add custom speaker SVG icons
- Add periodic sync every 10 seconds for playback synchronization
- Broadcast user_joined when connecting via WebSocket
- Disable nginx proxy buffering for streaming
- Allow extra env variables in pydantic settings

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-12 16:53:56 +03:00

34 lines
782 B
Python

from pydantic_settings import BaseSettings
from functools import lru_cache
class Settings(BaseSettings):
# Database
database_url: str = "postgresql://postgres:postgres@localhost:5432/enigfm"
# JWT
secret_key: str = "your-secret-key-change-in-production"
algorithm: str = "HS256"
access_token_expire_minutes: int = 60 * 24 * 7 # 7 days
# S3 (FirstVDS)
s3_endpoint_url: str = ""
s3_access_key: str = ""
s3_secret_key: str = ""
s3_bucket_name: str = "enigfm"
s3_region: str = "ru-1"
# Limits
max_file_size_mb: int = 10
max_storage_gb: int = 90
max_room_participants: int = 50
class Config:
env_file = ".env"
extra = "ignore"
@lru_cache()
def get_settings() -> Settings:
return Settings()