Skip to main content
Questa guida è il percorso di installazione da riga di comando supportato per una distribuzione CaseBender on-premises. Non richiede accesso a Internet pubblica dopo che le immagini dei contenitori sono disponibili nel tuo ambiente.
Preferisci un flusso grafico? L’Installer Desktop usa lo stesso modello di attivazione al primo avvio.

Prerequisiti

  • Linux, macOS o Windows con WSL 2
  • Docker Engine 20.10+ e Docker Compose v2+
  • OpenSSL
  • Cosign
  • Per la produzione: un nome DNS e un certificato TLS attendibile per l’host CaseBender
  • Accesso a Internet per scaricare il bundle Community pubblico e le immagini dei contenitori, oppure un processo approvato per replicare i digest esatti della release
Non copiare credenziali da questa guida in un’installazione. CaseBender genera segreti specifici dell’installazione.

1. Scaricare e verificare il bundle Community

Il repository sorgente di CaseBender è privato e non fa parte del processo di installazione del cliente. Il bundle pubblico, senza codice sorgente, contiene la definizione Compose di produzione, il comando di amministrazione casebender, i controlli preflight e canary, la configurazione Nginx e i metadati di release ancorati.

Scarica l'ultimo bundle Community on-premises

Bundle di installazione Docker Compose senza codice sorgente
Scarica l’archivio, il checksum e il bundle di verifica Sigstore:
Su macOS, usa shasum -a 256 -c al posto di ogni sha256sum -c. L’archivio firmato contiene lo stesso release-manifest.json; confrontalo con il manifest scaricato separatamente e conservalo con i registri di distribuzione. Registra il commit sorgente esatto e il digest firmato di ogni immagine del contenitore della release. Il download Community non include attualmente un archivio di immagini offline. Per un’installazione isolata, replica o esporta i sette digest esatti da release-manifest.json tramite il processo approvato di import software e caricali in Docker o nel registro interno prima di eseguire ./casebender up --offline.

2. Inizializzare l’installazione

Valutazione Community

Per provare CaseBender senza un account di object storage, inizializza senza variabili di storage:
Questo scrive STORAGE_PROVIDER=local, memorizza i file su un volume Docker con nome in /data e avvia un ClamAV incluso sulla rete Compose interna. Un banner nell’app indica lo storage di valutazione. Non usare questo percorso per evidenze di produzione, legal hold o deploy multi-nodo.

Produzione (bucket del cliente)

GCS usa GCS_BUCKET/GCS_PROJECT_ID con ADC. Azure usa AZURE_STORAGE_ACCOUNT/AZURE_CONTAINER con Managed Identity. Un STORAGE_CONFIG_FILE montato o un STORAGE_CONFIG_JSON in linea può definire profili quarantine, records ed ephemeral distinti. La produzione rifiuta i provider local e MinIO. L’inizializzazione:
  • legge la versione dell’immagine ancorata e il registro da release.env del bundle;
  • crea .env con segreti unici di autenticazione, database, Redis e OpenSearch conservando la configurazione di storage esterno fornita;
  • non mostra i segreti nell’output del comando;
  • prepara lo stato di attivazione locale monouso; e
  • rifiuta di sovrascrivere un .env esistente o di reimpostare un’installazione.
Esegui il backup di .env nel tuo store di segreti approvato. Non committarlo mai e non inviarlo via e-mail o chat.

3. Installare i certificati TLS

Posiziona la catena di certificati e la chiave privata in:
Usa un certificato attendibile dai dispositivi client. I certificati self-signed sono appropriati solo per ambienti di valutazione isolati.

4. Eseguire il preflight di produzione

Il preflight blocca l’avvio quando i segreti di installazione mancano o sono deboli, Redis non è autenticato, i file TLS sono assenti, vengono usati tag immagine mutabili, è selezionato il profilo demo, manca o è insicuro un profilo di storage esterno di produzione, oppure è pubblicato un porta di servizio non proxy. I file di profilo di storage montati devono essere percorsi assoluti, JSON valido e inaccessibili a gruppo e altri utenti (modo 0600).

5. Avviare CaseBender

Questo scarica solo le immagini ancorate identificate da release.env; non clona né compila il repository sorgente privato. Se le immagini corrispondenti sono state caricate dall’archivio isolato, esegui:
Sono pubblicate solo le porte Nginx 80 e 443. PostgreSQL, Redis, OpenSearch, API, ingestion, worker e processor restano sulla rete Compose interna. Lo storage oggetti è di proprietà del cliente ed è esterno a Compose. Monitora l’avvio:

6. Completare l’attivazione unica

Apri l’URL del tuo server CaseBender:
La pagina di setup è ospitata dall’istanza on-premises. Non contatta un servizio pubblico di attivazione CaseBender e funziona in una rete isolata. Ottieni il codice di attivazione di breve durata dal terminale di installazione:
Inserisci il codice, l’e-mail dell’amministratore, il nome visualizzato e una password amministratore univoca. Il codice scade, ha un numero limitato di tentativi e non può essere riutilizzato dopo l’attivazione. Vedi Configurazione al primo avvio.
CaseBender non crea una password di produzione condivisa. La modalità bootstrap legacy è solo per compatibilità temporanea e richiede un riconoscimento esplicito del rischio. Non abilitarla per una nuova installazione.

7. Verificare la distribuzione

Quindi verifica che:
  • l’amministratore possa accedere;
  • un’altra organizzazione non possa accedere ai suoi casi, avvisi, attività, allegati o record di audit;
  • le chiavi API non possano richiedere ambiti oltre i permessi del proprietario;
  • le destinazioni di integrazione usino HTTPS e un’uscita approvata;
  • le procedure di backup e ripristino funzionino.

Installazioni esistenti

Quando un database CaseBender esistente viene aggiornato, la migrazione di compatibilità lo marca ACTIVE. Utenti, password, ruoli, organizzazioni, casi e chiavi API esistenti restano invariati. La pagina di setup non compare e il seeding non crea né reimposta un amministratore. Esegui un backup verificato e segui Aggiornare CaseBender prima di sostituire le immagini. Se la distribuzione attuale usa un docker-compose.yml legacy con servizi app, db o MinIO incorporato, usa Migrare un’installazione Docker Compose legacy invece di trattarla come un aggiornamento di routine. Conserva .env esistente, il nome del progetto Compose, i volumi con nome, lo storage degli allegati e le chiavi crittografiche. Non eseguire mai ./casebender init su un’installazione esistente.

Integrazioni private on-premises

Le integrazioni in uscita richiedono HTTPS e rifiutano di default loopback, link-local, metadati e destinazioni private. Per consentire un’integrazione interna specifica, aggiungi solo il relativo hostname esatto a:
Questa impostazione è un elenco di autorizzazione, non un interruttore per consentire tutte le reti private.

Comandi utili

Non usare mai docker compose down -v su un’installazione che contiene dati.

Passaggi successivi