Open Time - Mot-clé - Nextcloud<p>Open time, open mind, open eyes</p>2024-03-28T22:54:28+01:00Franck Paulurn:md5:61070eb8c883ae7581f861faefddecbfDotclearContre toute attenteurn:md5:5fdd2ea7e29ca49103d2205ea35c4dfe2021-09-02T09:37:00+02:002021-09-06T11:14:14+02:00FranckBrèvesNextcloudserveurweb <p><img src="https://open-time.net/public/illustrations/2016/.raspberry_u.jpg" alt="" style="display:table; margin:0 auto;" height="600" width="600" /></p>
<p>Contre toute attente, disais-je, mon installation d’un petit proxy (haproxy) sur un Raspberry Pi 3+ fonctionne comme prévu, du premier coup, et ce jusqu’à plus ample informé !</p>
<p>Jusque et y compris le renouvellement d’un certificat (en mode test) sur l’un des deux serveurs qui se trouve derrière, <i lang="en">Incredible</i> :-)</p>
<p>Ma config <strong>haproxy</strong> (histoire de pouvoir m’y référer plus tard si besoin) :</p>
<pre><code class="language-plain">#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
stats timeout 30s
user haproxy
group haproxy
daemon
#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
mode tcp
option tcplog
log global
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
#---------------------------------------------------------------------
# dedicated stats page
#---------------------------------------------------------------------
listen stats
mode http
bind :22222
stats enable
stats uri /haproxy?stats
stats realm Haproxy\ Statistics
stats auth zeboss:passwordisfutile
stats refresh 30s
#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend main_http_listen
bind 192.168.42.40:80
mode http
acl acl_nextcloud_boulot_http hdr(host) -i nextcloud.boulot.fr
acl acl_boulot_http hdr(host) -i boulot.fr
use_backend backend_snc_http if acl_nextcloud_boulot_http
use_backend backend_sweb_http if acl_boulot_http
frontend main_https_listen
bind 192.168.42.40:443
mode tcp
option tcplog
log global
tcp-request inspect-delay 5s
tcp-request content accept if { req.ssl_hello_type 1 }
acl acl_nextcloud_boulot_https req.ssl_sni -i nextcloud.boulot.fr
acl acl_boulot_https req.ssl_sni -i boulot.fr
use_backend backend_snc_https if acl_nextcloud_boulot_https
use_backend backend_sweb_https if acl_boulot_https
#---------------------------------------------------------------------
# Backends
#---------------------------------------------------------------------
# Nextcloud server
backend backend_snc_http
description snc (HTTP)
mode http
server server_snc_http 192.168.42.13:80 check
backend backend_snc_https
description snc (HTTPS)
mode tcp
option ssl-hello-chk
server server_snc_https 192.168.42.13:443 check
# Web server
backend backend_sweb_http
description sweb (HTTP)
mode http
server server_sweb_http 192.168.42.16:80 check
backend backend_sweb_https
description sweb (HTTPS)
mode tcp
option ssl-hello-chk
server server_sweb_https 192.168.42.16:443 check</code></pre>
<p>Quelques explications :</p>
<p>Le proxy écoute sur les <strong>deux ports 80 et 443</strong> (redirigés depuis la box).</p>
<p>Pour le <strong>port 80</strong>, c’est du <strong>mode HTTP</strong> basique, utile en particulier pour laisser passer les quelques requêtes de mise en place des certificats sur les serveurs qui sont derrière. La distinction est faite sur le nom de domaine requis pour diriger vers le premier (serveur Nextcloud) ou le second (serveur web).</p>
<p>Pour le <strong>port 443</strong>, c’est le <strong>mode TCP</strong> qui est requis, pour faire la distinction.</p>
<p>Je laisse le soin aux serveurs qui sont derrière de rediriger le trafic <strong>HTTP vers HTTPS</strong> autant que de besoin.</p>
<p>Pas besoin non plus de mettre en place du <i lang="en">Load balancing</i> — ce que haproxy est capable de faire aussi — avec mes deux seuls petits serveurs.</p>
<p>Un <code>certbot renew --dry-run</code> fonctionne comme attendu, je verrai d’ici quelques jours si le renouvellement réel fonctionne comme prévu (demain a priori).</p>
<p>Jusqu’à présent <a href="https://open-time.net/post/2021/07/09/Petit-proxy-deviendra-grand">les stats</a> montent gentiment, on verra sur la durée comment le Raspberry tient la charge…</p>
<hr />
<p>Et un premier certificat renouvelé à travers le proxy, tout fonctionne comme attendu \o/</p>https://open-time.net/post/2021/09/02/Contre-toute-attente#comment-formhttps://open-time.net/feed/atom/comments/15087Décisionsurn:md5:78a35f822101db5c9f82978015feaa842021-01-23T11:37:00+01:002021-01-23T11:39:04+01:00FranckBrèvesdéveloppementNextcloudserveur <a href="https://open-time.net/public/dcim/2017/04/28/IMG_6297.jpg" title="Cheveux de dune, Guilvinec, France, avr. 2017"><figure style="display:table; margin:0 auto;"><img src="https://open-time.net/public/dcim/2017/04/28/.IMG_6297_u.jpg" alt="Cheveux de dune, Guilvinec, France, avr. 2017" title="Cheveux de dune, Guilvinec, France, avr. 2017" height="400" width="600" /><figcaption>Cheveux de dune</figcaption></figure></a>
<p>Finalement <a href="https://open-time.net/post/2021/01/22/Jenkins">la dette technique</a> que j’escomptais réduire sera une excellente entrée en matière pour mon futur remplaçant, dans un peu plus de trois ans, quand je partirai à la retraite.</p>
<p>Au passage, un bémol sur la gestion des contacts Nextcloud, pas terrible, voire même moins bien que l’appli standard de Mac OS, qui n’est d’ailleurs déjà pas folichonne ; bref on va faire l’impasse sur cette fonctionnalité et chacun l’utilisera à sa sauce s’il le souhaite. À part le partage d’une liste de contacts, l’UI est plutôt merdique et on a même des actions (ultra simple) qui ne sont pas réversibles.</p>
<p>Par exemple, cliquer par mégarde sur l’icône de la poubelle au droit d’une adresse supprime celle-ci du contact et sans confirmation. Pas moyen de la récupérer, faut avoir une sauvegarde quelque part ailleurs. Autant dire que <i lang="ru">niet</i>, spa pour moi.</p>
<p>Là, tout de suite, j’ai envie de faire un peu de code, trouver une idée sympa pour un nouveau thème photo, finir les <i lang="en">jobs</i> Jenkins pour les nightlies et les releases stables… Bref un peu de geekerie cool :-)</p>https://open-time.net/post/2021/01/23/Decisions#comment-formhttps://open-time.net/feed/atom/comments/14857Doneurn:md5:a5dd40df3ef6e2af003f2ccca3addcae2021-01-20T12:07:00+01:002021-01-20T12:07:00+01:00FranckBrèveslinuxNextcloudserveur <p><img src="https://open-time.net/public/memojis/bien.jpg" alt="" style="display:table; margin:0 auto;" height="421" width="421" /></p>
<p>Et voilà, encore quelques vérifications des tâches récurrentes (sauvegarde, etc…) à faire demain, mais sinon j’ai un serveur Nextcloud qui tourne au poil avec :</p>
<ul>
<li>Gestion de fichiers, y compris partage (protégé ou pas) avec des non-inscrits</li>
<li>Calendriers et tâches partagés si besoin</li>
<li>Gestion des contacts — il me reste encore à récupérer l’ancienne base de données</li>
<li>Gestionnaire de mot de passe, tant qu’à faire</li>
<li>Gestions de notes</li>
<li>Suite OnlyOffice pour la gestion des documents collaboratifs</li>
</ul>
<p>Ça devrait faire le job pour remplacer quelques vieux services qui tournent depuis des années :-)</p>
<p>J’ai un peu hésité à installer une appli de vidéo-conf, mais je crois que je vais d’abord surveiller la consommation du serveur en l’état, une fois que tout le monde l’utilisera, avant de décider s’il y a suffisamment pour ça…</p>https://open-time.net/post/2021/01/20/Done#comment-formhttps://open-time.net/feed/atom/comments/14854