Initial commit: AudiOhm - Alternative Spotify avec streaming YouTube
Backend: - FastAPI avec PostgreSQL et Redis - Authentification JWT complète - API REST pour musique, playlists, recherche - Streaming audio via yt-dlp - SQLAlchemy 2.0 async Frontend: - Flutter avec thème néon cyberpunk - State management Riverpod - Layout adaptatif desktop/mobile - Lecteur audio avec mini-player Infrastructure: - Docker Compose (PostgreSQL + Redis) - Scripts d'installation automatisés - Scripts de build pour exécutables Fichiers ajoutés: - BUILD_CLIENT_*.bat/sh: Scripts de compilation - BUILD_CLIENT_README.md: Documentation compilation - CHECK_FLUTTER.sh: Vérificateur d'environnement - requirements.txt mis à jour pour Python 3.13 - Modèles SQLAlchemy corrigés (metadata -> extra_metadata) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,114 @@
|
||||
# =============================================================================
|
||||
# Spotify Le 2 - Environment Variables
|
||||
# =============================================================================
|
||||
# Copy this file to .env and fill in your values.
|
||||
# DO NOT commit .env to version control.
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Application
|
||||
# -----------------------------------------------------------------------------
|
||||
APP_NAME="Spotify Le 2"
|
||||
APP_VERSION="0.1.0"
|
||||
DEBUG=true
|
||||
API_V1_PREFIX="/api/v1"
|
||||
|
||||
# Server
|
||||
HOST=0.0.0.0
|
||||
PORT=8000
|
||||
|
||||
# CORS - Comma-separated list of allowed origins
|
||||
BACKEND_CORS_ORIGINS=http://localhost:3000,http://localhost:8000
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Database (PostgreSQL)
|
||||
# -----------------------------------------------------------------------------
|
||||
POSTGRES_HOST=localhost
|
||||
POSTGRES_PORT=5432
|
||||
POSTGRES_USER=spotify
|
||||
POSTGRES_PASSWORD=change_this_password_in_production
|
||||
POSTGRES_DB=spotify_le_2
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Redis
|
||||
# -----------------------------------------------------------------------------
|
||||
REDIS_HOST=localhost
|
||||
REDIS_PORT=6379
|
||||
REDIS_PASSWORD=
|
||||
REDIS_DB=0
|
||||
# Alternative: Full Redis URL (overrides above if set)
|
||||
# REDIS_URL=redis://:password@localhost:6379/0
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# JWT Security
|
||||
# -----------------------------------------------------------------------------
|
||||
# IMPORTANT: Change this to a strong random string in production!
|
||||
SECRET_KEY=change-this-secret-key-in-production-use-openssl-rand-hex-32
|
||||
ALGORITHM=HS256
|
||||
ACCESS_TOKEN_EXPIRE_MINUTES=15
|
||||
REFRESH_TOKEN_EXPIRE_DAYS=7
|
||||
|
||||
# Password hashing
|
||||
PASSWORD_HASH_ALGORITHM=bcrypt
|
||||
PASSWORD_HASH_ROUNDS=12
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Storage
|
||||
# -----------------------------------------------------------------------------
|
||||
STORAGE_PATH=./storage
|
||||
AUDIO_CACHE_PATH=./storage/audio/cache
|
||||
AUDIO_PERMANENT_PATH=./storage/audio/permanent
|
||||
THUMBNAILS_PATH=./storage/thumbnails
|
||||
MAX_CACHE_SIZE_GB=50
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# YouTube
|
||||
# -----------------------------------------------------------------------------
|
||||
# Get your API key from: https://console.cloud.google.com/
|
||||
YOUTUBE_API_KEY=
|
||||
YTDLP_PATH=yt-dlp
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Spotify (for playlist import)
|
||||
# -----------------------------------------------------------------------------
|
||||
# Get your credentials from: https://developer.spotify.com/dashboard
|
||||
SPOTIFY_CLIENT_ID=
|
||||
SPOTIFY_CLIENT_SECRET=
|
||||
SPOTIFY_REDIRECT_URI=http://localhost:8000/api/v1/import/spotify/callback
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Last.fm (for metadata and recommendations)
|
||||
# -----------------------------------------------------------------------------
|
||||
# Get your API key from: https://www.last.fm/api/account/create
|
||||
LASTFM_API_KEY=
|
||||
LASTFM_SECRET=
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Rate Limiting
|
||||
# -----------------------------------------------------------------------------
|
||||
RATE_LIMIT_PER_MINUTE=100
|
||||
RATE_LIMIT_BURST=200
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# File Upload
|
||||
# -----------------------------------------------------------------------------
|
||||
MAX_FILE_SIZE_MB=100
|
||||
ALLOWED_AUDIO_TYPES=audio/mpeg,audio/ogg,audio/wav,audio/flac
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Audio Processing
|
||||
# -----------------------------------------------------------------------------
|
||||
FFMPEG_PATH=ffmpeg
|
||||
AUDIO_QUALITY=high
|
||||
BITRATE=320
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Logging
|
||||
# -----------------------------------------------------------------------------
|
||||
LOG_LEVEL=INFO
|
||||
LOG_FILE_PATH=./logs
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Pagination
|
||||
# -----------------------------------------------------------------------------
|
||||
DEFAULT_PAGE_SIZE=20
|
||||
MAX_PAGE_SIZE=100
|
||||
Reference in New Issue
Block a user