๐ฆ Installazione su Host (Pipenv)
Questa guida descrive come configurare LibreFolio direttamente su una macchina host usando Python, Node.js e Pipenv. Questo metodo di installazione manuale รจ adatto per gli utenti che desiderano eseguire LibreFolio senza Docker (ad es. su macchine con poche risorse) ed รจ anche il primo passo per gli sviluppatori che preparano un ambiente di sviluppo locale.
Per il deployment containerizzato, consulta la Guida all'Installazione del Manuale Utente o la Guida a Docker Avanzato.
โ Prerequisiti
Prima di procedere, assicurati di avere i seguenti requisiti installati sul tuo sistema:
๐ Python 3.13+
Python 3.13 รจ richiesto per il backend FastAPI.
- macOS: Installa tramite Homebrew:
- Windows: Scarica l'installer da python.org (assicurati di spuntare "Add Python to PATH").
- Linux (Ubuntu/Debian):
๐ฆ Node.js 24+
Node.js รจ richiesto per compilare il frontend SvelteKit.
- macOS: Installa tramite Homebrew:
- Windows/Linux: Installa usando nvm (Linux/macOS) o nvm-windows (Windows), oppure scarica direttamente da nodejs.org.
๐ Pipenv
Pipenv gestisce gli ambienti virtuali e le dipendenze per Python.
- Tutte le piattaforme:
Nota: Assicurati che i percorsi dei binari dell'utente (ad es.
~/.local/binsu Linux/macOS o%APPDATA%\Pythonsu Windows) siano aggiunti alla variabilePATHdella tua shell.
๐ Istruzioni di Configurazione
LibreFolio include uno script di orchestrazione principale, dev.py, per automatizzare le attivitร di gestione comuni.
Prerequisito per l'Ambiente Python
Poichรฉ dev.py importa moduli dal codice dell'applicazione backend, eseguirlo direttamente prima di installare le dipendenze risulterร in eccezioni di tipo ImportError.
Pertanto, la primissima volta che configuri il progetto sul tuo host, devi inizializzare l'ambiente virtuale eseguendo:
Una volta configurato questo ambiente iniziale, puoi utilizzare in sicurezzadev.py per tutti i passaggi successivi.
Esecuzione di dev.py (Contesto Pipenv)
Poichรฉ tutte le dipendenze del backend sono installate all'interno dell'ambiente virtuale gestito da pipenv, qualsiasi esecuzione di comandi sull'host deve essere eseguita in quel contesto:
- Comandi singoli: Prefissa il tuo comando con
pipenv run(ad es.pipenv run ./dev.py server). - Shell interattiva: Esegui prima
pipenv shellper entrare nell'ambiente virtuale, dopodichรฉ potrai eseguire direttamente./dev.pysenza prefissi.
Nota: Se stai eseguendo comandi all'interno di un container Docker in esecuzione (ad es. tramite docker exec), non รจ necessario utilizzare pipenv run o pipenv shell. L'immagine Docker di produzione pre-installa tutte le dipendenze Python globalmente nell'ambiente di sistema del container.
๐ฅ 1. Scarica il Progetto
Clona il repository:
Oppure scarica l'ultimo pacchetto di rilascio da GitHub Releases ed estrailo.
๐ฆ 2. Installa le Dipendenze
Una volta inizializzato l'ambiente virtuale, installa tutte le rimanenti dipendenze Python, Node.js e del browser:
Sotto il cofano, questo comando:
- Inizializzerร l'ambiente virtuale Python e installerร i pacchetti tramite
pipenv. - Installerร le dipendenze frontend SvelteKit tramite
npm. - Installerร i binari del browser Playwright (utilizzati per la generazione di report PDF e i test E2E).
โ๏ธ 3. Configura l'Ambiente
Copia il file dell'ambiente di esempio per creare la tua configurazione .env attiva:
Le impostazioni predefinite funzionano immediatamente. Di seguito sono riportate le variabili chiave:
PORT: Porta di bind del server (predefinita:6040).LIBREFOLIO_DATA_DIR: Percorso della directory in cui sono memorizzati il database, i caricamenti e i log (predefinito:./backend/data/prod).LOG_LEVEL: Livello di dettaglio dei log (predefinito:INFO).
Per una descrizione completa di tutte le variabili d'ambiente supportate, consulta la Guida alle Variabili d'Ambiente.
๐ 4. Avvia il Server
Per avviare il server FastAPI sull'host:
Il server sarร disponibile all'indirizzo http://localhost:6040.
Opzioni del Comando Server
| Flag | Descrizione |
|---|---|
--host HOST |
Indirizzo di bind (predefinito: var d'ambiente HOST o 0.0.0.0) |
--port PORT / -p PORT |
Porta di bind (predefinita: var d'ambiente PORT o 6040) |
--workers N / -w N |
Numero di worker uvicorn (predefinito: 1, disabilita il ricaricamento automatico) |
--no-scheduler |
Disabilita le attivitร in background per la sincronizzazione dei dati di mercato |
๐ค 5. Accesso all'App & Creazione Utenti
La prima volta che accedi a LibreFolio nel tuo browser, vedrai una pagina di registrazione in cui potrai creare il tuo primo account. Il primo utente registrato diventa automaticamente l'amministratore del sistema.
Per gestire gli utenti o promuoverli ad amministratore tramite la riga di comando, consulta la Guida agli Strumenti CLI per Utenti.
๐๏ธ Inizializzazione & Reset del Database
Quando si esegue l'applicazione per la prima volta, il database viene inizializzato automaticamente. Se hai bisogno di resettare il database per ripartire da zero, puoi farlo in due modi:
1. Comando da Terminale
Puoi eseguire il comando di pulizia dalla CLI del database:
[!WARNING] Questo comando eliminerร completamente il database SQLite esistente e ricreerร lo schema da zero. Tutti i dati andranno persi in modo permanente.
2. Reset Manuale
- Ferma il server se รจ in esecuzione.
- Elimina il file del database SQLite (situato di default in
backend/data/prod/sqlite/app.db). - Riavvia il server; inizializzerร automaticamente un nuovo file di database SQLite.