Documentació Primers passos
Configuració
Totes les variables d'entorn que llegeix Rainy, amb el seu valor per defecte i el que canvien.
Rainy llegeix la seva configuració de variables d'entorn. En una instal·lació de Python, els valors de .env es carreguen quan s'inicia el servidor. Amb Docker Compose, Compose llegeix .env per a la substitució i només passa al contenidor les variables que apareixen a app.environment. Reinicia Rainy després de canviar un valor. Amb Docker, executa docker compose up -d perquè el contenidor es recrei amb el nou entorn.
Parteix de .env.example, que enumera les configuracions que més gent canvia. Les taules següents cobreixen tot el que llegeix el codi de l'aplicació. Un valor per defecte que apareix com a «sense definir» vol dir que Rainy funciona sense la variable i activa o desactiva la funció relacionada en conseqüència.
Les configuracions que només llegeixen els scripts de llançament (start.sh,start.bat) o l'entrypoint de Docker es defineixen a la teva shell. Els valors que només fa servir Compose, comRAINY_PORTiMUSIC_LIBRARY_PATH, es posen a.env, perquè Compose llegeix aquest fitxer per a la substitució. Es llisten a part al final.
Nucli i seguretat
| Variable | Per defecte | Què fa |
|---|---|---|
FLASK_SECRET_KEY |
Buida | Signa les cookies de sessió. Rainy es nega a iniciar-se si no té almenys 32 caràcters i no és un marcador de posició, tret que RAINY_DEV estigui definit. Genera-la amb python -c "import secrets; print(secrets.token_hex(32))". |
RAINY_DEV |
Desactivat | Mode de desenvolupament. Accepta 1, true o yes. Permet una clau aleatòria temporal que es reinicia a cada arrencada, i activa el depurador de Werkzeug quan executes app.py. No l'utilitzis en un servidor exposat. |
SESSION_LIFETIME_DAYS |
30 |
Quant dura un inici de sessió. La sessió s'amplia cada vegada que s'utilitza. |
Base de dades
| Variable | Per defecte | Què fa |
|---|---|---|
RAINY_DB |
Automàtic | mysql o sqlite. Quan no està definida, Rainy fa servir MySQL si hi ha alguna variable MYSQL_* definida, i SQLite en cas contrari. Qualsevol altre valor atura l'inici amb un error. |
SQLITE_PATH |
data/rainy.db |
Ruta del fitxer SQLite, relativa a la carpeta del projecte, tret que indiquis una ruta absoluta. |
MYSQL_HOST |
localhost |
Amfitrió de MySQL. Hi pots afegir un port, com a 127.0.0.1:3306. |
MYSQL_PORT |
3306 |
Port de MySQL. Si no està definit, s'utilitza el port que hi hagi escrit a MYSQL_HOST. |
MYSQL_USER |
root |
Usuari de MySQL. Crea un usuari dedicat en lloc de fer servir root. |
MYSQL_PASSWORD |
Buida | Contrasenya de MySQL. |
MYSQL_DATABASE |
rainy |
Nom de la base de dades de MySQL. |
SiMYSQL_USERno està definit, Rainy es connecta com aroot. Defineix-lo amb el compte dedicat que has creat per a Rainy.
Xarxa i proxies
| Variable | Per defecte | Què fa |
|---|---|---|
RAINY_HTTP_PORT |
6969 |
Port en què escolta Rainy quan executes python app.py. |
RAINY_COOKIE_SECURE |
Desactivat | Afegeix el marcador Secure a les cookies de sessió, perquè els navegadors només les enviïn per HTTPS. Activa-ho quan serveixis Rainy per HTTPS. |
RAINY_TRUST_PROXY |
Desactivat | Confia en les capçaleres X-Forwarded-For, X-Forwarded-Proto i X-Forwarded-Host. Activa-ho només darrere d'un proxy invers que controlis, perquè els límits per IP vegin el client real. No ho activis mai quan Rainy és accessible directament. |
RAINY_CORS_ORIGINS |
Buida | Llista separada per comes d'altres orígens que poden cridar l'API amb credencials. Les sol·licituds de l'API que canvien dades des de qualsevol altre origen es rebutgen. |
Eines de multimèdia i importació
| Variable | Per defecte | Què fa |
|---|---|---|
RAINY_YTDLP_AUTO_UPDATE |
Activat | Manté yt-dlp al dia. Rainy ho comprova aproximadament cada 12 hores mentre s'executa. Defineix-la com a 0 per fixar la versió instal·lada. |
LASTFM_API_KEY |
Buida | Una clau gratuïta de l'API de Last.fm per a etiquetes, artistes semblants i biografies. Sense ella, s'omet l'enriquiment de Last.fm i es continua utilitzant MusicBrainz. |
Rainy necessita ffmpeg per al processament d'àudio, i un entorn d'execució de JavaScript per a les importacions de YouTube. La imatge de Docker els instal·la, i es descriuen a la pàgina de instal·lació.
Lletres i espectacle de llums
| Variable | Per defecte | Què fa |
|---|---|---|
RAINY_WHISPER_MODEL |
base |
El model de faster-whisper que s'utilitza per alinear les lletres amb l'àudio. Els models més grans són més lents i més precisos. |
RAINY_LYRICS_LANG |
Sense definir | Força l'idioma que es fa servir per alinear les lletres, per exemple en. Quan no està definit, Rainy el detecta a partir de l'àudio. |
RAINY_LIGHTSHOW_DEVICE |
auto |
On s'executa l'anàlisi de l'espectacle de llums. auto fa servir una GPU CUDA utilitzable i recorre a la CPU si no n'hi ha. cpu no fa servir mai la GPU. cuda fa servir la GPU utilitzable amb més memòria, i recorre a la CPU si no n'hi ha cap. cuda:N fa servir la GPU número N, o la CPU si aquesta GPU no es pot utilitzar. |
RAINY_LIGHTSHOW_THREADS |
Nuclis de la CPU, fins a 8 | Fils de treball de la CPU per a l'anàlisi de l'espectacle de llums. Un valor de 0 o que no sigui un número torna al valor per defecte. |
Per a la configuració de la GPU i el que pots esperar de cada valor de dispositiu, consulta acceleració per GPU.
Llançadors i contenidors
Aquestes configuracions les llegeixen start.sh, start.bat o els fitxers de Docker. Defineix les variables dels llançadors a la teva shell. Defineix les variables exclusives de Compose a .env.
| Variable | Per defecte | On s'aplica |
|---|---|---|
PYTHON |
Detectat automàticament | start.sh. Intèrpret que s'utilitza per crear .venv, només si és Python 3.11 o una versió posterior. |
RAINY_USE_GUNICORN |
0 |
start.sh. Defineix-la com a 1 per servir amb Gunicorn. És el mateix que passar --gunicorn. |
RAINY_GUNICORN_WORKERS |
2 |
start.sh amb Gunicorn. Nombre de processos de treball. |
RAINY_GUNICORN_THREADS |
4 |
start.sh amb Gunicorn. Fils per worker. |
RAINY_GUNICORN_TIMEOUT |
120 |
start.sh amb Gunicorn. Segons abans que es reiniciï un worker silenciós. |
DATABASE_INIT_MAX_ATTEMPTS |
30 |
Entrypoint de Docker. Intents de crear o migrar l'esquema, cada dos segons, abans que el contenidor es rendeixi. |
RAINY_PORT |
6969 |
Compose defineix amb això el port de l'amfitrió, i start.sh l'utilitza com a port de Gunicorn quan RAINY_HTTP_PORT no està definit. |
MUSIC_LIBRARY_PATH |
./music |
Només Compose. La carpeta de l'amfitrió que es munta a /music. |
MYSQL_ROOT_PASSWORD |
Obligatòria | Només Compose. Contrasenya de root del servei MySQL inclòs. |
Amb Docker Compose, el servei app també defineix MYSQL_HOST com a base de dades inclosa, i a més MYSQL_PORT, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DATABASE i FLASK_SECRET_KEY. Qualsevol altra configuració RAINY_* s'ha d'afegir a app.environment de compose.yaml per tenir efecte.