Skip to content
Omisen edited this page Aug 8, 2026 · 16 revisions

Installer per Odoo 16 / 17 / 18 / 19 su Ubuntu ≥ 22.04, Debian ≥ 11 e Fedora ≥ 40, scritto in Rust, con rollback transazionale:

O l'installazione riesce completamente, o il sistema torna esattamente com'era prima.

Configura utente di sistema, dipendenze, PostgreSQL, sorgenti Odoo, virtualenv, config, servizio systemd e (opzionale) Nginx — e se un passo fallisce, annulla tutto ciò che ha fatto senza toccare le risorse che c'erano già.


Da dove iniziare

Sei… Vai a
🌱 Nuovo / stagista, primo uso Guida rapida (primo uso)
🛠️ Sviluppatore / CI Uso non-interattivo e CI · Sviluppo e contribuire
📦 Installazione per un cliente Installazione per clienti

La cosa che distingue questo installer è cosa garantisce quando qualcosa va stortoIl modello di rollback.


Riferimenti rapidi

Dove vivono le cose. Il manifesto di disinstallazione è /var/lib/invok/state.json, il log /var/log/invok.log, il lock /run/invok.lock — tutti fuori da /opt/odoo, che è il perimetro che il rollback deve poter rimuovere per intero.


Cosa lo distingue

  • Rollback chirurgico verificato — provato con test end-to-end e su macchine vere: la CI di integrazione installa e disinstalla davvero, e controlla che non resti nulla.
  • Binario unico, senza runtime — un eseguibile nativo; git, il gestore di pacchetti, psql e venv restano comandi esterni.
  • Multi-distribuzione senza if sparsiapt e dnf stanno dietro due confini, e gli step non sanno su quale distribuzione girano → Supporto multi-distribuzione.
  • Riprendibile — un'installazione interrotta si riprende da dove si era fermata, senza perdere traccia di cosa aveva già creato. Una già completata non viene sovrascritta per sbaglio.
  • Interrompibile — Ctrl-C annulla e riporta il sistema com'era, invece di lasciarlo a metà.
  • Un flusso, due modi — guidato (interattivo) o non-interattivo (--config/flag/CI).

Cosa fa, step per step (dettaglio tecnico)

Ogni step registra uno snapshot prima di mutare ed espone un undo. In ordine di esecuzione:

Fondamenta · Motore (trait Step, PreState, rollback) · Config (CLI, .env, cascata) · Preflight checks

Step · PrepareOptRoot · CreateOdooUser · SetupLogDir · SetupCacheDir · AptPackages (delta) · InstallWkhtmltopdf · SetupPostgres · CreateDbRole · CreateDatabase · CloneOdooRepo · CreateVirtualenv · InstallPythonRequirements · GenerateConfig · SetupDataDir · InitializeOdooDatabase · SetupSystemd · Nginx (6 sotto-step) · WriteControlScript + PatchBashrc

Trasversali · UI + dry-run · Rollback e2e + hardening

Clone this wiki locally