Add website

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
This commit is contained in:
Denis 'GNUtoo' Carikli 2023-09-13 03:11:21 +02:00
parent 7fe191c90d
commit 32475794b1
Signed by: GNUtoo
GPG Key ID: 5F5DFCC14177E263
2 changed files with 168 additions and 2 deletions

109
index.html Normal file
View File

@ -0,0 +1,109 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<!--
-- Copyright (C) 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
--
-- This file is free software; you can redistribute it and/or modify it
-- under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 3 of the License, or (at
-- your option) any later version.
--
-- You should have received a copy of the GNU General Public License
-- along with this file. If not, see <http://www.gnu.org/licenses/>.
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>audio.experimental.a-lec.org</title>
<meta name="keywords" content="a-lec, Libre en communs, logiciel libre" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
</head>
<body>
<h2>Experimental</h2>
<p>
Ce service est experimental.
</p>
<h2>Service</h2>
<p>
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.
</p>
<h2>Logiciels compatibles à installer pour utiliser le service</h2>
<p>Il existe des logiciels compatible pour la plus part des sytème
d'exploitations.</p>
<ul>
<li>
GNU/Linux : Le logiciel compatible de référence (Mumble) est
libre et est disponible pour GNU/Linux. Pour l'installer il
est conseillé d'utiliser le Gestionnaire de paquets de la
distribution que vous utilisez.
</li>
<li>
Android : Il existe une application pour Android qui s'apelle
<a href="https://f-droid.org/packages/se.lublin.mumla">Mumla</a>. Il
est conseillé de l'installer avec F-Droid. A noter que les
applications Android ont souvent des dépendances non libre
envers le SDK Android.
</li>
<li>
Windows : Le logiciel compatible de référence (Mumble) est
aussi disponible pour Windows, mais il à des dépendances non
libres. Pour l'installer vous pouvez le télécharger
depuis <a href="https://www.mumble.info/downloads">la page de
téléchargement du projet officiel</a>.
</li>
<li>
macOS: Le logiciel compatible de référence (Mumble) est aussi
disponible pour macOS, mais il à des dépendances non libres
(Xcode). Pour l'installer vous pouvez le télécharger
depuis <a href="https://www.mumble.info/downloads">la page de
téléchargement du projet officiel</a>.
</li>
<li>
Pour plus de possibilitées,
voir <a href="https://www.mumble.info/downloads">la page de
téléchargement du projet officiel</a>.
</li>
</ul>
<h2>Informations de connexion</h2>
<p>Les Information pour vous connecter :</p>
<ul>
<li>adresse : audio.experimental.a-lec.org</li>
<li>port : 64738</li>
<li>nom d'utilisateur : votre pseudo</li>
<li>Nom : Libre en communs</li>
</ul>
<h2>Pourquoi c'est Experimental?</h2>
<p>
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
<a href="https://guix.gnu.org">Guix</a>,
<a href="https://guix.gnu.org/en/manual/fr/html_node/Limitations.html">
une distribution GNU/Linux assez nouvelle
</a> 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.
</p>
<!-- TODO:
-- * Fournir un lien vers le code source qui est déployé
-- * Expliquer comment contribuer
-->
</body>
</html>

View File

@ -14,10 +14,34 @@
#:use-module (gnu packages dns) #:use-module (gnu packages dns)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages ssh) #:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
#:use-module (gnu services admin) #:use-module (gnu services admin)
#:use-module (gnu services certbot)
#:use-module (gnu services ssh) #: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)) #: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 (define-public %nginx-deploy-hook
(program-file (program-file
"nginx-deploy-hook" "nginx-deploy-hook"
@ -45,16 +69,28 @@
(timezone "Europe/Paris") (timezone "Europe/Paris")
(packages (packages
(append (append
(list htop (list certbot
htop
iftop iftop
`(,isc-bind "utils") `(,isc-bind "utils")
net-tools net-tools
nmon nmon
openssh-sans-x) openssh-sans-x
website)
%base-packages)) %base-packages))
(services (services
(append (append
(list (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 ;; Networking
(service (service
static-networking-service-type static-networking-service-type
@ -67,6 +103,27 @@
(destination "default") (destination "default")
(gateway "192.168.10.1")))) (gateway "192.168.10.1"))))
(name-servers '("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 ;; OpenSSH
(service openssh-service-type (service openssh-service-type
(openssh-configuration (openssh-configuration