Totes les pàgines Configuració

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, com RAINY_PORT i MUSIC_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.
Si MYSQL_USER no està definit, Rainy es connecta com a root. 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.

Relacionat