Sistemi informatici

Da GolemWiki.
Versione del 14 nov 2022 alle 21:16 di Giulio (discussione | contributi) (Abbozzata descrizione dell'infrastruttura)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Jump to navigation Jump to search

In questa pagina è riassunta la documentazione relativa agli strumenti informatici del GOLEM (server, gestione delle macchine virtuali, router, ...). Deve fungere da collante fra le varie pagine di documentazione già esistenti, così da avere una visione d'insieme della struttura, ma anche da punto di partenza per le bozze di documentazione.

Questa pagina è strettamente legata a Servizi, che riassume in maniera più user friendly i servizi disponibili ai soci e ospitati dalla seguente infrastruttura.

VPS - atena

Golem-template-note-reminder.png Documentare i punti mancanti marcati da TODO


Il VPS ospita buona parte dei Servizi del GOLEM accessibili al pubblico (sito web, repository git, ...). L'approccio scelto è quello a microservizi, in cui ogni servizio è suddiviso in uno o più container (basati su docker). (TODO)

Fanno eccezione:

  • La gestione del DNS tramite bind (TODO);
  • La VPN del GOLEM basata su openVPN;
  • Il tunnel IPv6;
  • Il proxy HTTP basato su apache (TODO);
  • Il sistema di backup? (TODO).

Server locale - cassiopea

Sul server locale di officina è installato il gestore di macchine virtuali e container Proxmox. Attualmente la totalità dei servizi ospitati da cassiopea sono dockerizzati ed eseguiti in una VM che replica le condizioni di lavoro del VPS. Dovrà essere operata una migrazione da VM a LXC per ridurre i consumi di risorse.

Docker su LXC Proxmox

Creazione e configurazione del container

  • Aprire il tool di creazione di un LXC;
  • Lasciare selezionati i flag "unprivileged container" e "nesting";
  • Selezionare l'immagine LXC preferita (es. turnkey-core);
  • Mountpoints:
    • Lasciare il rootfs di default;
    • Aggiungere un nuovo mountpoint /var/lib/docker/ da esculdere dai backup di Proxmox. Servirà per i file di sistema di docker (immagini, log, etc). Questi vengono ricreati automaticamente, quindi non ha senso che sia backuppato. Dimensione ~ decine di GB;
    • Aggiungere un nuovo mountpoint /srv/docker da includere nei backup. Dimensione ~ decine di GB. Memorizzerà i file "utente" utilizzati nei container.
  • Al termine della creazione del container, entrare sulle opzioni e abilitare keyctl nelle features.

Installazione di docker

Golem-template-note-info.png Informazioni riprese dalla guida ufficiale


  • Aggiornare il sistema
# apt update && apt upgrade
  • Installare le dipendenze
# apt install ca-certificates curl gnupg lsb-release
  • Aggiungere il repository docker
# mkdir -p /etc/apt/keyrings
# curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# echo   "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
  • Installare docker
# apt update
# apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Buone prassi

Come sul VPS, è sempre bene esplicitare la posizione dei volumi su cui deve essere fatto il backup. Posizionare i volumi in /srv/docker/nome-container/.