IRIDE - bootstrap e primo install di una istanza
Go to file
tecnotel 5dd160472d iride-setup 0.1.0 - bootstrap, install, first_setup, health check 2026-09-12 10:37:06 +02:00
checks iride-setup 0.1.0 - bootstrap, install, first_setup, health check 2026-09-12 10:37:06 +02:00
lib iride-setup 0.1.0 - bootstrap, install, first_setup, health check 2026-09-12 10:37:06 +02:00
.gitignore iride-setup 0.1.0 - bootstrap, install, first_setup, health check 2026-09-12 10:37:06 +02:00
README.md iride-setup 0.1.0 - bootstrap, install, first_setup, health check 2026-09-12 10:37:06 +02:00
VERSION iride-setup 0.1.0 - bootstrap, install, first_setup, health check 2026-09-12 10:37:06 +02:00
bootstrap.sh iride-setup 0.1.0 - bootstrap, install, first_setup, health check 2026-09-12 10:37:06 +02:00
first_setup.py iride-setup 0.1.0 - bootstrap, install, first_setup, health check 2026-09-12 10:37:06 +02:00
install.sh iride-setup 0.1.0 - bootstrap, install, first_setup, health check 2026-09-12 10:37:06 +02:00

README.md

iride-setup

Bootstrap e primo install di un'istanza IRIDE (Tecnotel Servizi SRL), sullo schema di argos-setup. Il repository applicativo è iride; gli aggiornamenti successivi li fa iride/scripts/update.sh.

Install su un server Ubuntu LTS pulito

curl -fsSL -H "Authorization: token <TOKEN>" \
  https://repo.argosdefense.io/tecnotel/iride-setup/raw/branch/main/bootstrap.sh \
  | sudo bash -s -- --token <TOKEN>

<TOKEN> è un token Gitea di sola lettura dedicato all'istanza (uno per cliente, revocabile), mai un token personale. Resta in /opt/iride/config/git-credentials (0600, utente iride) e serve a update.sh.

Non interattivo (VM di test, CI):

... | sudo bash -s -- --token <TOKEN> --client "Nome Cliente" --domain iride.cliente.it --admin-password '<min 12 caratteri>'

Cosa fa

Passo Script Esito
pacchetti, utente iride, /opt/iride/*, credenziali git bootstrap.sh clona questo repo in /opt/iride/setup
clone di iride in /opt/iride/app, venv, dipendenze install.sh
configurazione da config/*.example + wizard first_setup.py iride.json, users.json (0600)
migrazioni, build frontend (se presente), unit systemd, nginx + certificato install.sh servizi abilitati e avviati
verifica checks/health.sh exit 1 se qualcosa non va

Layout risultante: /opt/iride/{app,config,data,logs,backups,certs,setup}.

Note

  • Il certificato generato è self-signed: WhatsApp richiede un certificato valido (Let's Encrypt o del cliente) in /opt/iride/certs/{fullchain,privkey}.pem.
  • Il wizard web (porta 8888, stile ARGOS) e la validazione della licenza all'install arrivano dopo il pilota (B-055 li collauda su VM di test).
  • Riesecuzione sicura: bootstrap.sh aggiorna il setup e rilancia install.sh, che non tocca configurazione, utenti e certificati già presenti.