Aggiorna README.md

This commit is contained in:
Giacomo Leidi 2020-05-11 02:38:39 +02:00
parent fdff3865ee
commit 5bbd3d214a

View file

@ -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`.