diff --git a/index.html b/index.html new file mode 100644 index 0000000..6166ffc --- /dev/null +++ b/index.html @@ -0,0 +1,109 @@ + + + + + + audio.experimental.a-lec.org + + + + +

Experimental

+

+ Ce service est experimental. +

+ +

Service

+

+ Ceci est un service d'audio-conférence qui utilise un logiciel + mumble-server du projet Mumble. Ce logiciel permet de faire des + audio-conférences avec de l'audio de haute qualité avec de tout + en nécessitant peu de ressources (connections Internet lentes, + ordinateurs anciens, etc). En contre partie cela demande aux + personnes utilisatrices du service d'installer un logiciel + client compatible (comme Mumble, Mumla, etc) pour utiliser ce + service. +

+ +

Logiciels compatibles à installer pour utiliser le service

+

Il existe des logiciels compatible pour la plus part des sytème + d'exploitations.

+ + +

Informations de connexion

+

Les Information pour vous connecter :

+ + +

Pourquoi c'est Experimental?

+

+ Le logiciel d'audio-conférence utilisé pour ce service + (mumble-server) est très connus et stable. Ce service est + experimental car on veut essayer de le fournir avec + Guix, + + une distribution GNU/Linux assez nouvelle + qui est certifiée par la FSF (Free Software Foundation). + Si ça marche cela simplifiera la maintenance et permettera à de + pouvoir facilement déployer ce service, de contribuer à + l'améliorer sans forcément devoir avoir accès à la machine sur + laquelle il tourne, etc. +

+ + + + diff --git a/mumble-vm-system.scm b/mumble-vm-system.scm index 26648b4..74ff714 100644 --- a/mumble-vm-system.scm +++ b/mumble-vm-system.scm @@ -14,10 +14,34 @@ #:use-module (gnu packages dns) #:use-module (gnu packages linux) #:use-module (gnu packages ssh) + #:use-module (gnu packages tls) #:use-module (gnu services admin) + #:use-module (gnu services certbot) #:use-module (gnu services ssh) + #:use-module (gnu services web) + #:use-module (guix build-system copy) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix utils) #:export (mumble-vm-operating-system)) +(define website + (package + (name "website") + (version "0.1") + (source (local-file "index.html" )) + (build-system copy-build-system) + (arguments + (list + #:install-plan + #~(list '("index.html" "var/www/audio.experimental.chalec.org/")))) + (synopsis "The audio.experimental.chalec.org website.") + (description + "The website contains how to use the service, and how to +replicate or contribute to it.") + (home-page "audio.experimental.chalec.org") + (license license:gpl3+))) + (define-public %nginx-deploy-hook (program-file "nginx-deploy-hook" @@ -45,16 +69,28 @@ (timezone "Europe/Paris") (packages (append - (list htop + (list certbot + htop iftop `(,isc-bind "utils") net-tools nmon - openssh-sans-x) + openssh-sans-x + website) %base-packages)) (services (append (list + ;; Certbot + (service + certbot-service-type + (certbot-configuration + (email "cominfra@a-lec.org") + (certificates + (list + (certificate-configuration + (domains '("audio.experimental.a-lec.org")) + (deploy-hook %nginx-deploy-hook)))))) ;; Networking (service static-networking-service-type @@ -67,6 +103,27 @@ (destination "default") (gateway "192.168.10.1")))) (name-servers '("192.168.10.1"))))) + ;; Nginx + (service + nginx-service-type + (nginx-configuration + (log-directory "/var/log") + (server-blocks + (list + (nginx-server-configuration + (listen '("80" "443 ssl")) + (server-name '("audio.experimental.a-lec.org")) + (ssl-certificate + (string-append + "/etc/letsencrypt/live/" + "audio.experimental.a-lec.org/fullchain.pem")) + (ssl-certificate-key + (string-append + "/etc/letsencrypt/live/" + "audio.experimental.a-lec.org/privkey.pem")) + (root (string-append + "/run/current-system/profile/" + "var/www/audio.experimental.chalec.org"))))))) ;; OpenSSH (service openssh-service-type (openssh-configuration