-
Notifications
You must be signed in to change notification settings - Fork 0
Home
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à.
| 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 storto → Il modello di rollback.
- Riferimento CLI — ogni flag, con default.
-
Riferimento
.env— chiavi di configurazione. - Cosa fa, step per step — la sequenza (link sotto).
- Verifica e troubleshooting — è partito? cosa fare se no.
- Sicurezza — password admin, checksum wkhtmltopdf, privilegio minimo.
- Supporto multi-distribuzione — Ubuntu, Debian, Fedora: cosa cambia e come lo sappiamo.
-
Storia — l'installer era in bash fino ai tag
v1.x.
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.
- 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
ifsparsi —aptednfstanno 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).
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
Start here
Key concepts
References
For developers
Technical detail — how it works inside
Steps:
- 1.1 PrepareOptRoot
- 1.2 CreateOdooUser
- 1.3 SetupLogDir
- 1.3b SetupCacheDir
- 1.4 AptPackages (delta)
- 1.5 InstallWkhtmltopdf
- 1.6 SetupPostgres
- 1.7 CreateDbRole
- 1.8 CreateDatabase
- 1.9 CloneOdooRepo
- 1.10 CreateVirtualenv
- 1.11 InstallPythonRequirements
- 1.12 GenerateConfig
- 1.12b SetupDataDir
- 1.13 InitializeOdooDatabase
- 1.14 SetupSystemd
- 1.15 Nginx (6 sub-steps)
- 1.16 WriteControlScript + PatchBashrc
Cross-cutting: