Salta ai contenuti
Novità 1.0 Immagine Docker gratuita + 7 Package di Settore (.eap) inclusi. Guida Deploy su Render.com → ⚡ Prova la Demo Live ☕ Offrici un caffè

Deploy su Render.com (Guida Completa)

Render.com è una delle piattaforme cloud PaaS più semplici ed economiche per ospitare EasyEA in pochi minuti direttamente dall’immagine Docker ufficiale (ghcr.io/lhackyup/easy-ea:latest), senza dover gestire server o infrastrutture complesse.

Questa guida ti accompagna passo dopo passo sia nel deploy automatico tramite Blueprint (render.yaml), sia nella configurazione manuale e nell’abbinamento a un database PostgreSQL persistente gratuito (es. Neon.tech o Supabase).


1. Architettura del Deploy su Render.com

Su Render, l’installazione di EasyEA si compone di due elementi:

  1. Web Service (easyea-app): Esegue l’immagine container ghcr.io/lhackyup/easy-ea:latest sulla porta 8000.
  2. Database PostgreSQL (easyea-postgres): Ospita i workspace, gli elementi ArchiMate, le relazioni, gli schemi, gli utenti RBAC e i package .eap.

2. Metodo A: Deploy Automatico con Blueprint (render.yaml)

Puoi scaricare il file ufficiale render.yaml e inserirlo in un tuo repository GitHub per avviare l’intero stack con un solo clic:

services:
- type: web
name: easyea-app
runtime: image
image:
url: ghcr.io/lhackyup/easy-ea:latest
plan: free
region: frankfurt # oppure oregon, ohio, singapore
envVars:
- key: PORT
value: 8000
- key: EASYEA_ENV
value: production
- key: EASYEA_SECRET_KEY
generateValue: true
- key: EASYEA_SEED_DEMO_USERS
value: "false"
- key: EASYEA_RBAC_MODE
value: hybrid
- key: DATABASE_URL
fromDatabase:
name: easyea-postgres
property: connectionString
databases:
- name: easyea-postgres
databaseName: easyea_db
user: easyea_user
plan: free
region: frankfurt

Procedura:

  1. Accedi alla dashboard di Render.com.
  2. Clicca su New + ➔ Blueprint.
  3. Collega il repository contenente il file render.yaml.
  4. Render creerà automaticamente sia il database PostgreSQL (easyea-postgres) nella regione di Francoforte (frankfurt), sia il servizio web (easyea-app), iniettando la stringa di connessione DATABASE_URL e generando una chiave crittografica sicura per EASYEA_SECRET_KEY.

3. Metodo B: Configurazione Manuale dalla Dashboard Render

Se preferisci non usare un repository Git ma fare il deploy diretto dell’immagine Docker dalla UI di Render:

  1. Crea il Database PostgreSQL:
    • Clicca su New + ➔ PostgreSQL.
    • Imposta il nome (es. easyea-postgres), la Region (Frankfurt (EU Central)) e scegli il piano (Free per test o Basic/Pro per produzione).
    • Una volta creato, copia l’Internal Database URL (se nella stessa region) o l’External Database URL.
  2. Crea il Web Service EasyEA:
    • Clicca su New + ➔ Web Service.
    • Seleziona l’opzione Deploy an existing image from a registry.
    • Inserisci come Image URL:
      ghcr.io/lhackyup/easy-ea:latest
    • Scegli il nome del servizio (es. easyea-app) e la stessa Region (Frankfurt).
  3. Configura le Variabili d’Ambiente (Environment Variables):
VariabileValore ConsigliatoDescrizione
PORT8000Porta su cui il server Uvicorn/FastAPI resta in ascolto dentro il container.
DATABASE_URLpostgresql://...La Connection String copiata dal database PostgreSQL.
EASYEA_ENVproductionAbilita le ottimizzazioni e i controlli di sicurezza di produzione.
EASYEA_SECRET_KEY(Stringa casuale lunga)Chiave segreta per la firma dei token JWT di autenticazione.
EASYEA_RBAC_MODEhybrid (o strict)hybrid consente la consultazione guidata e richiede login per modifiche/admin; strict richiede autenticazione su ogni rotta.
EASYEA_SEED_DEMO_USERSfalse (o true per demo)Se impostato a true, crea gli utenti dimostrativi al primo avvio. In produzione si raccomanda false.
  1. Clicca su Create Web Service. In circa 60–90 secondi il tuo portale EasyEA sarà online con certificato HTTPS automatico (https://easyea-app.onrender.com).

4. Persistenza Permanente Gratuita con Neon.tech o Supabase

Se desideri mantenere un’istanza 100% gratuita e senza scadenza temporale per i tuoi modelli ArchiMate:

  1. Crea un progetto PostgreSQL gratuito su Neon.tech (Serverless Postgres, regione AWS Europe Frankfurt) oppure su Supabase.
  2. Copia la stringa di connessione fornita da Neon (assicurandoti che termini con ?sslmode=require):
    postgresql://<user>:<password>@ep-xyz.eu-central-1.aws.neon.tech/neondb?sslmode=require
  3. Vai nella dashboard di Render.com ➔ seleziona il servizio easyea-app ➔ scheda Environment.
  4. Sovrascrivi la variabile DATABASE_URL incollando la stringa di Neon.tech e salva.
  5. Render riavvierà il container collegandosi al database permanente esterno. A quel punto potrai eliminare il DB temporaneo su Render.