Skip to content

Infrastruttura

L'idea dietro Infrastructure è di strutturare, salvare e mantenere sotto configuration control in un repository facilmente deoployable tutto quello che è definibile come configuration as code, con i relativi script di installazione e operatività.

Git repository Infrastructure

Il repository Infrastructure è così organizzato:

  • nella root si trovano i file essenziali per configurare, installare e controllare i vari servizi.

  • nella directory services sono presenti varie sottodirectory, una per ciascun servizio funzionante, operabile e attivo;

  • nella directory staging sono presenti varie sottodirectory, una per ciascun servizio funzonante, operabile ma momentaneamente non attivi;

  • nella directory testing sono presenti varie sottodirectory, una per ciascun servizio ancora in testing, non pienamente funzionante;

  • nella directory scripts sono presenti vari script per backup e sincronizzazioni di vario tipo e anche lo script do, usato per interagire con i singoli servizi come meglio spiegato nella pagina dedicata.

  • nella directory templates sono presenti i template di file docker-compose.yml che di fatto sono comuni e quindi condivisibili tra vari servizi (ad es. i blog wordpress della galassia ISAA).

Configurazione di un servizio in Infrastructure

La configurazione standard di ogni servizio, e quindi il contenuto atteso in ciascuna delle directory in services, staging e testing, è composta da almeno due file:

  • .env, contenente le variabili di ambiente necessarie alla specifica istaanza da gestire;

  • docker_compose.yml, con la configurazione richieste per il container docker del servizio.

Ove possibile, quando i servizi sono creati con container sostanzialmente identici, il file docker_compose.yml del servizio è un softlink al template contenuto in infrastructure/templates, dato che i dettagli sono specificati nel file .env del servizio.

Deployment e Installazione di Infrastructure

Si raccomanda di clonare il repository direttamente nella root della VM. Ulteriori dettagli si trovano nella pagina dedicata.

Git repository Wordpress_ISAA

Il repository contiene il Dockerfile per la creazione di container basati su Apache2 + Wordpress, derivante dal progetto visiblevc/wordpress_starter ormai abandonware.

Il progetto è stato ampiamente rivisto, e aggiornato alla versione 8.4 di php.

La directory Persistent

Nella directory /persistent sono conservati tutti i file che si vogliono persistenti tra sessioni di esecuzione dei vari servizi.

La struttura di /persistent è estremamente semplice: vi si trovano svariate sottodirectory, una per ciascun servizio. Il file docker-compose.yml di ciascun servizio monta come volume la sua directory in /persistent al momento dello startup.