Deploy Cloud su Render.com ​
Se desideri ospitare AgriReg sul cloud in modo semplice, la piattaforma consigliata e supportata ufficialmente è Render.com.
AgriReg è 100% gratuito e open-source. L'utilizzo del software in sé non comporta costi di licenza, tuttavia i costi operativi mensili dipenderanno esclusivamente dalle risorse hardware (CPU, RAM, database) che sceglierai di richiedere su Render.com e dal piano di installazione selezionato (che può spaziare dal piano gratuito Free Tier a risorse dedicate a pagamento per aziende più grandi).
WARNING
Limitazioni importanti dei piani gratuiti di Render.com:
- Scadenza del Database PostgreSQL (Free): Il database PostgreSQL nel piano gratuito di Render ha una scadenza temporale di 90 giorni (circa 3 mesi) dal momento della creazione. Scaduto questo termine, il database gratuito viene sospeso e successivamente rimosso con conseguente perdita dei dati, a meno che non venga aggiornato a un piano a pagamento (a partire da circa 7$/mese).
- Perdita dei file caricati al riavvio (Storage Effimero): I servizi web gratuiti di Render utilizzano un file system effimero. Tutti i file salvati localmente (come foto di ricevute, allegati o log cartacei) verranno cancellati permanentemente ad ogni riavvio dell'applicazione o ad ogni nuovo deploy. È necessario configurare un servizio di object storage esterno compatibile S3 (consigliato Cloudflare R2 che offre un piano gratuito generoso) per garantire la persistenza dei file.
🚀 Deploy in 1-Click con il Pulsante "Deploy to Render" ​
Il metodo più semplice e automatizzato per avviare AgriReg su Render.com è utilizzare la funzionalità Blueprints ufficiale di Render tramite il pulsante in 1-Click.
Per farlo, abbiamo preparato un repository GitHub pubblico contenente il file render.yaml direttamente nella root del progetto: https://github.com/lhackyup/agrireg-deploy. Poiché il file render.yaml punta all'immagine pubblica su GitHub Container Registry (ghcr.io/lhackyup/agrireg:latest), non esporrà in alcun modo il codice sorgente privato del tuo applicativo.
Gli utenti potranno avviare il deploy cliccando sul seguente pulsante:
Metodo 2: Deploy Manuale tramite Dashboard ​
Se si preferisce configurare le risorse singolarmente tramite l'interfaccia grafica di Render:
Crea il Database PostgreSQL:
- Nella dashboard di Render, clicca su New > Database.
- Assegna un nome (es.
agrireg-db), imposta database e utente suagrireg, quindi seleziona la regione desiderata e clicca su Create Database. - Prendi nota dei parametri di connessione (Host interno, Port, Database, Username e Password).
Crea il Servizio Web:
- Clicca su New > Web Service.
- Seleziona Deploy an existing image.
- Inserisci l'URL dell'immagine Docker:
ghcr.io/lhackyup/agrireg:lateste clicca su Next. - Assegna un nome al servizio (es.
agrireg-app) e seleziona il piano tariffario (es. Free).
Configura le Variabili d'Ambiente:
- Nella scheda Environment del Web Service, aggiungi le seguenti variabili:
PORT:8080(la porta interna dell'applicazione)APP_ENV:productionDB_HOST: L'host interno del database creato al punto 1.DB_PORT:5432DB_USER: Il nome utente del database (es.agrireg).DB_PASSWORD: La password del database.DB_NAME: Il nome del database (es.agrireg).
- Clicca su Create Web Service.
- Nella scheda Environment del Web Service, aggiungi le seguenti variabili:
Storage Persistente degli Allegati (Necessario) ​
Per evitare perdite di dati degli allegati caricati in AgriReg, aggiungi le seguenti variabili d'ambiente nella scheda Environment del tuo Web Service su Render per collegare un bucket S3 (consigliato Cloudflare R2):
STORAGE_PROVIDER:s3STORAGE_S3_ENDPOINT: L'endpoint S3 (es.https://your-account-id.r2.cloudflarestorage.comper Cloudflare R2).STORAGE_S3_REGION: La regione S3 (es.autooeu-south-1).STORAGE_S3_BUCKET: Il nome del bucket creato.STORAGE_S3_ACCESS_KEY_ID: La chiave di accesso API.STORAGE_S3_SECRET_ACCESS_KEY: La chiave segreta API.STORAGE_S3_FORCE_PATH_STYLE: Imposta atrue(necessario per provider come Cloudflare R2 o MinIO).