Browse Source

Aggiorna README.md

Giacomo Leidi 4 years ago
parent
commit
5bbd3d214a
1 changed files with 64 additions and 2 deletions
  1. 64 2
      README.md

+ 64 - 2
README.md

@@ -1,3 +1,65 @@
-# mastostart-guix
+# Mastostart Guix
 
-Guix Channel  per MastodonStartPage.
+Mastostart Guix è un repository di software per il gestore di pacchetti [GNU Guix](https://guix.gnu.info) e configurazioni di sistema per [MastodonStartpage](https://git.lattuga.net/pongrebio/MastodonStartpage).
+
+## Installare Guix
+
+È possibile installare Guix sulla maggior parte delle distribuzioni. Il metodo consigliato al momento è [questo](https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh) script che fa da wizard per l'installazione, [qui](https://guix.gnu.org/manual/en/html_node/Installation.html#Installation) per fare a mano. La wiki di Arch ha altre info [interessanti](https://wiki.archlinux.org/index.php/Guix).
+
+## Abilitare il channel
+
+Mastostart Guix può essere installato come [Guix channel](https://www.gnu.org/software/guix/manual/en/html_node/Channels.html). Per farlo, aggiungilo al tuo `~/.config/guix/channels.scm`:
+
+``` Scheme
+(cons* (channel
+        (name 'mastostart)
+        (url "https://git.lattuga.net/goodoldpaul/mastostart-guix"))
+       %default-channels)
+```
+
+### Configurazione
+
+La documentazione ufficiale sulle configurazioni è [qui](https://guix.gnu.org/manual/en/html_node/Using-the-Configuration-System.html#Using-the-Configuration-System) e qui i vari modi per istanziarle in [locale](https://guix.gnu.org/manual/en/html_node/Invoking-guix-system.html#Invoking-guix-system) o [remoto](https://guix.gnu.org/manual/en/html_node/Invoking-guix-deploy.html#Invoking-guix-deploy).
+
+## Container
+
+I container sono meccanismi di isolamento forniti da Linux `3.19` in poi. Necessitano di meno risorse rispetto alle macchine virtuali perchè che condividono kernel e altre risorse con la macchina host.
+
+**N.B.**: Attualmente, questo comando va lanciato come root, se preferite non farlo potete usare la macchina virtuale.
+
+Per lanciare un container locale che serve la startpage sulla porta `80`:
+
+``` Bash
+sudo `guix system container mastostart-gnu/system/mastostart.scm --network`
+```
+
+## Macchina virtuale
+
+Le macchine virtuali forniscono meccanismi di isolamento più efficaci dei container al prezzo di un maggior consumo di risorse.
+
+
+Per lanciare una macchina virtuale locale che serve la startpage sulla porta `8080`:
+
+``` Bash
+`guix system vm mastostart-gnu/system/mastostart.scm` -nic user,model=virtio-net-pci,hostfwd=tcp::8080-:80
+```
+
+## Immagine Docker
+
+Per generare un'immagine Docker che serva la pagina sulla porta `80`:
+
+``` Bash
+guix system docker-image mastostart-gnu/system/mastostart.scm
+```
+
+Per generare ed eseguire l'immagine generata:
+
+``` Bash
+image_path="`guix system docker-image mastostart-gnu/system/mastostart.scm`"
+image_id="`docker load < $image_path`"
+container_id="`docker create $image_id`"
+docker start $container_id
+```
+
+
+**N.B.**: A seconda di cosa vuoi eseguire nel container Docker, potrebbe dover essere necessario fornirgli ulteriori permessi. Per esempio, se intendi installare software tramite Guix dentro il container Docker, potresti dover passare l'opzione `--privileged` a `docker create`.