Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

Tunarr - Recréer la télévision qu'on aime zapper dans Plex

Vous vous souvenez de l'époque où on s'écroulait comme des merdes dans notre canapé après une grosse journée de boulot et où on regardait juste ce que la télé nous balançait ? Pas de choix à faire sur Netflix, ni de recommandation sur l'Apple TV. On zappait juste en mode no-brain jusqu'à ce qu'on tombe sur une connerie qui réveille notre cerveau reptilien.

Eh bah le dev Chris Benincasa a créé Tunarr , un soft open source qui ressuscite ce truc-là en transformant votre Plex ou Jellyfin en chaîne de TV en continue.

Grâce à Tunarr, vous configurez vos chaînes dans une interface web (en glisser-déposer...), le soft émule un tuner HDHomeRun (le standard de la TV réseau aux US), que Plex, Jellyfin ou Emby reconnaissent ensuite comme une vraie source TV. Et voilà comment vous avez maintenant votre propre antenne maison.

Ou alors vous exportez en M3U pour des players IPTV comme Tivimate ou UHF, le tout avec un EPG intégré (c'est le guide des programmes), des bumpers (vous savez ces petites séquences Tchii Tchaaa ou M6 Mhmmmh des chaînes TV), des pubs vintage entre les programmes et même des clips musicaux pour faire authentique.

Bref, du déjà-vu, mais avec votre catalogue d'émissions à vous.

L'histoire de ce projet est d'ailleurs assez marrante car c'est un fork de dizqueTV (de vexorian), lui-même fork de pseudotv-plex (de DEFENDORe) et chacun de ces devs contribuent à Tunarr. 3 générations de mainteneurs qui collaborent sur le même projet, ça fait plaisir à voir car dans l'open source et la tech en général, ce genre de filiation c'est souvent rare tant les egos sont groooos.

Et côté fonctionnalités, c'est plutôt pas mal. Vous programmez vos chaînes par créneaux horaires (comme une vraie grille TV), par shuffle aléatoire ou par blocs cycliques. Vous balancez alors du contenu de remplissage entre les épisodes, vous personnalisez les profils de transcodage par chaîne, et vous regardez ça directement dans votre navigateur web ou via votre client Plex préféré.

De son côté, le hardware transcoding gère NVENC, VAAPI, Intel QuickSync et VideoToolbox sur macOS, donc votre GPU ne bosse pas pour rien.

Pour ma part, je me ferais bien une ambiance "C'est dimanche" qui balance des séries TV + vidéo gag et des docs sur la nature toute la journée, ou une "chaîne minuit" uniquement pour les vieux films d'horreur et les clips MTV de ma jeunesse ^^. Aaaah, nostalgie quand tu nous tiens ! Et je mettrais des vrais bumpers vintage entre les programmes, comme ça, ça donnerait l'illusion qu'on est sur une vraie programmation TF1 des années 90. Ce serait chouette non ?

Pour faire tourner ça, un Docker compose suffit (port 8000), avec un FFmpeg 6.1 minimum (7.1.1 recommandé). Vous lancez simplement :

docker run -d -p 8000:8000 -v ./tunarr-data:/config/tunarr chrisbenincasa/tunarr:latest

et c'est en ligne !

Maintenant sauf si votre Pi 3 a 2 Go de RAM, le transcoding 4K ne marchera pas mais sur du x86 récent ou un Pi 5, ça envoie carrément bien.

Et si vous préférez la méthode à l'ancienne, y'a également des binaires Linux, macOS, Windows, et même une image ARM pour Raspberry Pi . Le code est en TypeScript à 99,6%, sous license zlib (très permissive) et y'a des nouvelles releases régulières.

Voilà, ce projet n'a aucun sens dans le monde du streaming à la demande et c'est précisément pour ça que je vous en parle ! Si vous voulez retrouver l'ambiance zapping, c'est par ici ou sur le GitHub .

Et un GRAND merci à Johnny pour l'info !!

Kavita, la bibliothèque auto-hébergée pour vos ebooks, comics et manga

Depuis qu'Amazon a coupé le téléchargement USB de nos ebooks Kindle (sniiiif), héberger sa propre bibliothèque est passé du statut de bricolage du dimanche aprem au geste héroïque de préservation de notre souveraineté !

Alors si vous voulez vous lancer, sachez que Kavita , le serveur de lecture auto-hébergé développé depuis 2020, est l'un des candidats les plus solides du moment. C'est un lecteur web qui gère EPUB, PDF, comics CBZ/CBR et manga avec mode de lecture droite-à-gauche pour les aficionados et grâce lui, nos ebooks peuvent reprendre leur indépendance.

Ce truc, ça se déploie en Docker ou via Scoop pour Windows en 4 lignes de PowerShell.

De mon côté, j'ai installé Kavita sur mon NAS Synology alors voici la marche à suivre si vous voulez faire pareil.

Installation sur NAS Synology (Container Manager)

Testé sur DSM 7.2 avec Container Manager. Pour QNAP via Container Station ou TrueNAS, la logique est la même puisque c'est du Docker standard.

Étape 1 - Préparer les dossiers

Sur votre NAS, créez deux dossiers via Panneau de configuration > Dossier partagé :

  • docker/kavita/config pour la config et la base SQLite de Kavita
  • data/library/books pour votre bibliothèque (pointez où vous stockez déjà vos EPUB et CBZ)

Étape 2 - Le docker-compose.yml

Ouvrez ensuite Container Manager > Projet > Créer, donnez-lui le nom kavita, et collez ce docker-compose :

services:
 kavita:
 image: jvmilazz0/kavita:latest
 container_name: kavita
 restart: unless-stopped
 ports:
 - "5000:5000"
 environment:
 - TZ=Europe/Paris
 volumes:
 - /volume1/docker/kavita/config:/kavita/config
 - /volume1/data/library/books:/manga

L'image jvmilazz0/kavita:latest est celle référencée dans la doc officielle. Côté container, les chemins sont /kavita/config et /manga (peu importe que ce soit du manga ou des romans, c'est juste le nom historique du point de montage).

Étape 3 - Lancer le conteneur

Validez le projet. L'image se télécharge (environ 200 Mo), puis le conteneur démarre. Si le port 5000 est déjà pris sur votre NAS, changez le mapping en 5001:5000 par exemple.

Étape 4 - Premier lancement

Dans votre navigateur, allez sur http://IP-DU-NAS:5000. L'écran d'accueil vous demande alors de vous créer un compte admin.

Validez, puis allez dans les préférences pour passer l'interface en français et rafraichissez la page.

Ensuite, dans les paramètres du serveur > Bibliothèques, ajoutez une bibliothèque : Type "Livre" pour les EPUB/PDF ou "Manga"/"Comic" selon le contenu, le choix du dossier pointant vers /manga. Le scan démarre automatiquement.

Étape 5 - Organisation des dossiers

Attention, Kavita est sensible à la structure des dossiers donc pour qu'il identifie correctement les séries, organisez vos dossiers comme ça :

/manga
├── Asterix/
│ ├── Asterix - Tome 01.cbz
│ └── Asterix - Tome 02.cbz
├── Stephen King/
│ ├── Ça.epub
│ └── Shining.epub

Un sous-dossier par série ou par auteur, pas tout en vrac dans un dossier unique.

Étape 6 - Accès distant (optionnel)

Maintenant, pour accéder à Kavita depuis l'extérieur, le plus propre c'est un reverse proxy avec HTTPS. Sur Synology, soit via DSM > Portail web > Proxy inversé, soit via Nginx Proxy Manager . Pointez votre sous-domaine sur IP-NAS:5000 et activez Let's Encrypt.

Ou alors, moi ce que j'aime bien faire aussi, c'est rien du tout et passer par Tailscale !

Côté fonctionnalités

Côté ergonomie, franchement ils n'ont pas chômé puisqu'on y retrouve le lecteur intégré avec modes single page, double page, webtoon ou même mode immersif plein écran. Des thèmes light, dark, sepia, + un mode personnalisé en CSS si vous voulez.

Y'a aussi de la synchro de progression de lecture entre tous vos appareils, du coup vous pouvez commencer un chapitre sur le laptop pendant votre pause café et le finir sur le téléphone dans le métro. C'est appréciable au quotidien.

Y'a aussi de la gestion multi-utilisateur avec authentification OIDC pour ceux qui aiment faire les choses bien (et ratings + listes individuels par compte, donc votre meilleur pote peut lire ses romans de Tom Clancy à côté de votre collection de docs techniques sans qu'on les mélange).

Il y a également une surveillance automatique des dossiers pour tout ce qui est import auto et de la recherche full-text avec filtres par métadonnées (titre, auteur, série, genre, langue).

Et si vous avez des enfants, il est possible de mettre en place des restrictions par classification d'âge pour éviter qu'ils ne fouillent dans vos comics de Manara. Et le clou du spectacle spécial barbu, c'est l'export d'annotations vers Obsidian via le plugin officiel pour les nerds du second cerveau.

Kavita propose même une fonction "Send to Kindle" pour balancer un EPUB vers votre liseuse Amazon. Sur Windows, vous pouvez aussi le transformer en service système avec Shawl pour qu'il démarre tout seul au boot, et côté Linux, un docker-compose suffira largement.

Voilà, dans cette jungle bordélique des outils ebooks auto-hébergeables, Kavita se positionne comme une option moderne et stable. Je préfère Kavita à Calibre car l'interface web est carrément plus moderne et hyper fluide à l'usage.

Vous l'aurez compris, côté concurrence, Kavita est historiquement plus orientée mixte ebooks-comics que Komga (qui supporte aussi les EPUB et PDF mais reste très ancré culture comics). Alors si vous hésitez entre les outils du moment, mon tour d'horizon des outils ebooks self-hosted devrait vous éclairer (avec notamment le drame Booklore !!).

Ah et y'a aussi Kavita+, la version premium à 4 $ par mois (2 $ le premier mois avec le code FIRSTTIME) qui ajoutera la sync AniList, des recommandations personnalisées, des collections intelligentes et l'enrichissement de métadonnées automatique. Après, perso, pour un usage classique, je trouve que la version gratuite fait déjà largement le job, mais si vous gérez +50 000 fichiers et que vous voulez pas passer la soirée à taguer des séries entières, là ça peut carrément valoir le coup.

Source

Shelfmark - La relève de Readarr pour vos ebooks

Readarr a malheureusement fermé boutique en juin dernier et depuis, le créneau Sonarr-pour-bouquins était orphelin. Mais voili que voilà Shelfmark qui débarque pour combler ce trou, et c'est signé calibrain. Cet outil c'est l'évolution directe de Calibre-Web-Automated-Book-Downloader (CWA-BD pour les intimes), renommé en début d'année !

Niveau interface, ça se présente comme une seule barre de recherche, façon Spotlight mais pour vos sources de livres, qui sait chercher et télécharger des ebooks (et des audiobooks) depuis toutes vos sources configurées : Web, torrent, usenet, IRC, tout passe par la même barre de recherche.

Comme ça, vous tapez le titre, ça interroge Hardcover, Open Library ou Google Books pour les métadonnées, ça agrège les résultats des sources, et vous cliquez sur le format qui vous arrange. Si le dossier de destination pointe vers l'ingest folder de Calibre-Web-Automated, Grimmory ou Audiobookshelf, l'import est alors automatique ce qui fait que vous n'avez aucun script maison à entretenir.

Côté sources, c'est la souplesse maximale. Prowlarr en backend pour les indexers torrent/usenet, IRC pour les vieilles méthodes qui marchent toujours, et même Cloudflare handling intégré pour les sites protégés.

Pour le contournement Cloudflare, Shelfmark embarque son propre bypasser (un FlareSolverr-like maison). Du coup vous avez 2 variantes Docker au choix : la Standard avec navigateur intégré, et la Lite (sans browser) si vous avez déjà un FlareSolverr ailleurs ou si vos sources n'en ont pas besoin. L'image est dispo sur ghcr.io, et utilise le port 8084 par défaut. Bref, c'est du docker compose up -d classique, j'vais rien vous apprendre à ce sujet.

Ce qui est sympa avec ce logiciel, c'est surtout le système multi-utilisateur avec son système de requêtes, ce qui vous permet de monter votre propre instance, puis de l'ouvrir à votre famille ou à vos potes ces gros noobz ^^ pour qu'ils cherchent leurs bouquins. Et vous, vous validez (ou pas) leurs requêtes en tant qu'admin.

Côté auth ça peut se faire en login basique jusqu'au SSO entreprise via OIDC (Authelia, Authentik, Keycloak), + proxy auth si vous avez un reverse proxy qui vous authentifie en frontal, ou alors faire réutilisation directe de la base utilisateurs de Calibre-Web (Suffit de monter son app.db en read-only et c'est plié).

Les amoureux de Tor peuvent également activer le routage via Tor si ça vous amuse. Shelfmark est donc plus un outil de recherche et de téléchargement qu'un outil de gestion de bibliothèque. Donc c'est plus minimaliste, contrairement à Readarr qui voulait tout faire et s'est cassé les dents sur les métadonnées.

Maintenant, si vous voulez la gestion de bibliothèque, c'est Calibre-Web ou Audiobookshelf qui fera bien le job (Mon dossier sur l'écosystème ebooks self-hosted peut vous aider à monter votre stack complète).

Bref, Readarr a fermé, Shelfmark a ouvert et vos étagères de livres numériques vous remercieront !

NeatMail - L'assistant IA open source pour Gmail/Outlook

Une boîte mail avec 12 000 messages non lus (genre 32 par jour pendant un an), c'est pas une vie mais c'est pas une fatalité non plus puisque Lakshay Gupta vient de poster NeatMail . Cet outil est un assistant IA qui labelise vos mails Gmail ou Outlook automatiquement et qui rédige des brouillons de réponse dans votre style d'écriture. Le code est dispo sur Github, auto-hébergeable, mais je reviendrai sur la licence (spoiler : c'est custom)...

L'interface marketing de NeatMail

En gros, vous connectez votre Gmail ou Outlook via OAuth (rien à faire côté mot de passe, et tant mieux vu les fuites récentes via les outils IA ), et NeatMail utilise ensuite OpenAI GPT-4o mini en backend pour classifier chaque mail entrant (avec un taux annoncé de 95% de confiance, mais c'est à voir en pratique).

Comme ça, plutôt que d'attendre que vous traitiez vos messages par batch comme un facteur dépressif, le truc bosse en temps réel ! Un mail arrive, hop, label appliqué et ainsi de suite. Et si le système juge que ça mérite une réponse, il vous prépare un brouillon dans votre ton habituel.

Y'a aussi des trucs qui font la différence avec un simple filtre Gmail. Le système se souvient des conversations passées pour rester cohérent dans les brouillons, vérifie votre calendrier avant de proposer un créneau, et apprend votre style à force de relire ce que vous écrivez. La fonctionnalité de désinscription en un clic balaye aussi les newsletters promo, et il y a même une intégration Telegram qui ping votre téléphone quand un mail vraiment important arrive ("Oh cool encore un mail de mon avocat !").

Le chaos d'une boîte Gmail sans tri auto

Côté code, c'est du Next.js 16 + React 19 pour le front, Hono.js pour le backend, PostgreSQL pour les métadonnées, Redis Upstash pour la déduplication, et Inngest qui orchestre les workflows. Le tout majoritairement codé en TypeScript, avec un Dockerfile prêt à dégainer.

Faut juste vos identifiants Google Cloud, Microsoft Entra et OpenAI à côté pour faire tourner ça chez vous, ce qui n'est pas hyper user friendly à trouver mais reste faisable un dimanche pluvieux si vous avez la niak.

Pour le pricing, NeatMail propose 7 jours d'essai gratuit puis 7 dollars par mois. À comparer donc avec Superhuman qui demande entre 30 et 40 dollars mensuels pour le même genre de service, ou SaneBox qui démarre à 7 dollars mais ne propose pas de rédaction de brouillons par IA.

Sauf que là, le code EST sur GitHub, du coup si vous avez la flemme de payer 84 dollars par an (le prix d'un bon resto en amoureux 😍) et que vous savez configurer un PostgreSQL, vous économisez votre argent et vous gardez la main sur l'infra !

Brouillon de réponse pré-rédigé directement dans Gmail

Après faut quand même garder en tête que NeatMail est encore jeune, et que c'est un projet solo. Et côté licence, c'est pas du MIT pur puisque la licence réelle s'appelle "NeatMail Open Source License". C'est donc de la licence faite maison, avec de l'auto-hébergement autorisé, mais une interdiction complète de revendre une instance ou de monter un business concurrent.

Donc si vous comptiez forker le projet pour monter votre SaaS concurrent, oubliez ça direct, car ce n'est pas autorisé. Côté privacy, le créateur précise qu'aucun contenu de mail n'est stocké en base, mais juste les métadonnées (sachant que les mails passent quand même par OpenAI pour la classification, faut pas se mentir...).

Voilà, je trouve l'idée plutôt sympa. Le code est dispo sur GitHub si vous voulez self-hoster votre boîte mail intelligente, ou comme je vous le disais, y'a la version SaaS sur neatmail.app à 7 dollars par mois pour les flemmards. Carrément moins cher que Superhuman !

Technitium - Le DNS qui remplace Pi-hole, Unbound, BIND

Et si vous aviez UN seul soft qui bloque les pubs comme Pi-hole, qui parle DoH/DoT/DoQ comme AdGuard Home, ET qui sait faire du serveur DNS faisant autorité pour vos zones perso ?

Hé bien c'est exactement ce que fait Technitium DNS Server , un projet open source sous licence GPLv3 maintenu par TechnitiumSoftware. Concrètement, avec ce truc, vous obtenez un résolveur récursif, un sinkhole avec blocklists, et un serveur de zones (Primary, Secondary, Stub) dans le même process. Du coup, pour un homelab type, fini d'empiler Pi-hole + Unbound + BIND, tout est dans la même console web !

Pour démarrer sur Linux ou Raspberry Pi, l'installeur officiel fait tout en moins d'une minute :

curl -sSL https://download.technitium.com/dns/install.sh | sudo bash

Sinon Docker marche aussi avec docker pull technitium/dns-server:latest. Vous tapez ensuite http://localhost:5380/ dans le navigateur, login admin/admin (à changer dare-dare !), et hop, vous êtes dans la console web. Le serveur tourne direct, faudra juste pointer votre routeur ou vos clients dessus pour qu'il filtre tout le réseau.

La console web Technitium - tableau de bord principal

Côté blocage, la console propose un Quick Add pour piocher direct dans les block lists populaires (du style Hagezi). Les listes se mettent à jour quotidiennement, et l'app interne Advanced Blocking gère même des regex et des listes différentes par IP ou sous-réseau client. Pratique, non ?

Genre du blocage strict pour la tablette du salon, plus permissif sur votre ordi, et un mode safe-search obligatoire pour la chambre des gosses. Notez quand même que certaines Smart TV Samsung ou apps gaming hardcodent leur DNS, du coup faudra ajouter une règle de routage sur le firewall de la box pour vraiment forcer Technitium.

L'écran d'ajout des block lists, avec le bouton Quick Add

Niveau protocoles, c'est du costaud : DNS-over-TLS, DNS-over-HTTPS (HTTP/1.1, HTTP/2, HTTP/3), DNS-over-QUIC, plus le DNS-over-PROXY-protocol pour les load balancers. Y'a aussi le DNSSEC complet (RSA, ECDSA, EdDSA, NSEC/NSEC3, DANE TLSA), les transferts de zones AXFR/IXFR, le routage Tor pour les forwarders, et le support du Cloudflare hidden DNS resolver. Soit le set qu'on attend chez un FAI sérieux.

Côté perfs, le serveur encaisse plus de 100 000 requêtes/seconde sur du Gigabit Ethernet d'après les benchs officiels. Sur un Raspberry Pi 4 avec 2 Go de RAM, ça tourne peinard pour une famille de 4 (genre 200 à 300 Mo de RAM en charge avec Hagezi Pro et ses 750 000 entrées, donc carrément de la marge).

Et y'a aussi un DHCP multi-réseaux, du clustering, du SSO via OpenID Connect, du 2FA TOTP, plus des apps internes pour DNS64 (clients IPv6-only), DNS Rebinding Protection, et Advanced Forwarding. Tout ça pour un soft destiné à tourner chez vous.

Côté zones, on peut monter du Primary (zone classique gérée localement), du Secondary (réplique d'une autre zone), du Stub, ou du Conditional Forwarder, plus du Catalog Zones pour ceux qui automatisent à grande échelle. Pratique pour gérer un domaine perso, un homelab entier, ou un split-horizon entre réseau interne et externe. Pas mal pour un soft "maison".

À noter quand même quelques pièges. À part sur Linux et Raspberry Pi où ça tourne nickel, sous Windows 10/11 c'est plus chaotique : Internet Connection Sharing, Hyper-V, Docker Desktop et Defender Application Guard squattent tous le port 53, donc faudra changer le port d'écoute si vous tournez sur un poste de travail. Y'a même des cas tordus où Hyper-V garde le port après désinstallation, et le seul fix c'est un net stop hns ou un reboot complet.

Si vous chargez beaucoup de blocklists volumineuses, la RAM grimpe vite (les pros conseillent de consolider sur une seule liste comme Hagezi Pro). Le cache est aussi froid au premier démarrage, donc les premières requêtes prennent leur temps avant que tout se fluidifie (genre 30 secondes à 1 minute pour redevenir réactif, donc évitez de rebooter en pleine visio).

Mais avec tout ça, vous gagnez un truc rare : un seul outil pour filtrer pubs et trackers à l'échelle du réseau (utile à l'heure où certains pays parlent de criminaliser les bloqueurs côté navigateur ), résoudre vos requêtes en récursif, et héberger vos propres zones DNS. Tout ça avec une UI web qui supporte le dark mode (oui, ça compte aussi ^^).

Bref, franchement à tester si vous voulez la main complète sur votre infrastructure DNS sans bricoler 3 softs en parallèle. Sur un Pi à 35 balles posé derrière la box, ça dépote sa race. Le projet est sur GitHub, le site officiel est ici, et merci à Axala sur Discord pour le tuyau !

Source

LinuxServer - Les images Docker que votre homelab mérite

Monter un Jellyfin dans Docker, ça prend 3 minutes. Mais retrouver dans 18 mois une image encore maintenue, c'est plus le même kung fu ! En effet, beaucoup d'images populaires sur Docker Hub ont déjà pris 2 ou 3 ans de retard sur leur app upstream, et quand c'est un mainteneur solo qui a lâché l'affaire à cause d'un burn out, vous vous retrouvez rapidement avec un putain de Dockerfile cassé à débugger un dimanche à 23h. Chouette programme de vie hein ?

LinuxServer.io , c'est le collectif qui résout ce problème. 17 bénévoles répartis sur différents fuseaux horaires, maintenant 313 dépôts publics sur GitHub, et des images Docker standardisées qui alimentent un paquet de homelabs à travers le monde. Plex, Jellyfin, Sonarr, Radarr, WireGuard, SWAG, Home Assistant, Nextcloud... leur catalogue couvre à peu près tout ce qu'un self-hoster peut demander.

Ce qu'ils proposent c'est une véritable standardisation puisque la plupart de leurs images partagent la même base (Alpine ou Ubuntu le plus souvent, parfois Debian ou Arch selon le cas), utilisent s6-overlay (v3 désormais) pour gérer les processus sur Linux, et exposent le même système PUID/PGID avec un volume /config pour la persistance.

Si vous avez déjà galéré avec des fichiers créés en root dans vos volumes Docker, vous voyez de quoi je cause. Là, 2 variables d'environnement et c'est plié :

environment:
 - PUID=1000 # votre UID, récupéré via id $user
 - PGID=1000 # votre GID, pareil

Faites moi confiance, vous allez voir, le jour où vous avez 15 conteneurs qui tournent en simultannée, c'est tout simplement un vrai soulagement.

Un id $user dans le terminal pour récupérer vos identifiants réels, vous les collez dans le docker-compose, et vos fichiers appartiennent alors bien à votre propre utilisateur. Terminées les galères de permissions à rattraper à coups de sudo chown.

Côté registry, leurs images se récupèrent via ce genre d'URL lscr.io/linuxserver/jellyfin (par exemple), qui redirige vers GHCR avec Docker Hub en miroir.

Côté architectures, leurs images ciblent x86_64 et arm64 en standard, avec du RISC-V 64-bit sur les baseimages Alpine récentes. Ils ont tiré un trait sur l'ARM 32-bit en 2024 donc les Pi 2 ou Pi 3 en mode 32-bit ne sont plus éligibles. Certaines images très spécifiques (Chrome, par exemple) restent amd64-only, mais la grande majorité du catalogue couvre les deux archis principales sans problème.

Et dans leur catalogue, y'a des pépites. Je pense par exemple à leur SWAG qui remplace carrément toute la tambouille Nginx + Certbot + fail2ban que vous vous tapez à la main. C'est super pratique. Après Pangolin reste une alternative intéressante si vous voulez proxy, tunnels et auth intégrés dans le même stack... mais SWAG est un classique éprouvé.

Leur WireGuard est balèze aussi, parfait pour monter un VPN maison en quelques lignes de YAML. Et si vous voulez mettre vos conteneurs en veille entre deux usages, ContainerNursery se marie bien avec.

Faut savoir que pour réussir à maintenir tout ce bordel, ils ont entièrement automatisé leur pipeline de build. Ainsi, quand une app upstream ou ses dépendances changent, l'image est reconstruite et poussée vers GHCR et Docker Hub dans la foulée. Comme ça les mises à jour de la base OS tombent chaque semaine sur leurs 313 repos, et tout ça sans qu'aucun mainteneur n'ait à cliquer sur un bouton. Bien fichu non ?

Du coup, un petit docker-compose pull && docker-compose up -d de temps en temps et votre stack reste à jour sans stress.

Après vous voulez pinner une version précise en prod, c'est possible mais faudra aller checker les tags dispos sur Docker Hub avant de déployer, sinon un pull un peu trop agressif cassera tout.

Le modèle économique est 100% bénévole et l'équipe est financée par des dons via Open Collective, avec notamment DigitalOcean comme partenaire infrastructure principal, des supporters institutionnels genre Pine64, QNAP, Synology ou Unraid, et une cinquantaine de sponsors individuels actifs sur GitHub Sponsors.

Pas d'investisseur à rassurer donc ni de version Pro à la con qui planque de bonnes fonctionnalités derrière un paywall (je déteste les paywalls !!). Ce sont des passionnés qui construisent tout simplement pour le plaisir de bien faire et qui partagent tout en open source.

Voilà, si vous en avez marre des images Docker qui lâchent au bout de 18 mois, ça vaut clairement le coup d'aller faire un tour chez LinuxServer.io . Des gens bons (vous l'avez ?) qui font du bon boulot depuis des années ! Merci à eux et merci à Maxime pour le tuyau !

ONCE - La plateforme auto-hébergée open-source de 37signals

Payer 15 euros par mois pour un chat d'équipe du genre de Slack, 20 pour un wiki pro, 10 pour un kanban... Et au bout d'un an, vous avez filé l'équivalent d'un MacBook d'occasion à des SaaS qui vivent sur votre dos. C'est ce constat qui a poussé 37signals à ouvrir ONCE.

Pour ceux qui rompichent fort depuis des années, 37signals c'est la boîte derrière Basecamp et HEY, avec Jason Fried comme CEO et David Heinemeier Hansson (DHH, le créateur de Ruby on Rails) comme CTO.

Depuis 2023, ils rament contre l'abonnement à vie façon Microsoft 365, et vendent certains de leurs outils en paiement unique façon Photoshop version boîte physique. Leur modèle commercial n'a pas vraiment décollé, alors le 16 mars dernier, DHH a publié un billet "ONCE Again" pour annoncer le pivot : Leurs apps passent dorénavant en open-source (sous des licences variables, j'y reviens) et 37signals sort une plateforme commune pour simplifier l'auto-hébergement.

Cette plateforme, c'est donc ONCE , officiellement lancée le 17 avril dernier. Il s'agit d'un binaire unique écrit en Go, sous licence MIT, qui transforme n'importe quelle machine Linux ou macOS en serveur d'applications Docker auto-hébergées. VPS, Raspberry Pi, vieux laptop qui traîne au grenier, votre MacBook Pro... tout y passe du moment qu'il y a Docker dessus.

Cela dit, si vous comptiez bourrer un vieux Pi 3 avec quatre apps en même temps, faudra pas s'étonner quand même que ça rame.

L'installation tient sur une ligne :

curl https://get.once.com | sh

Le script détecte votre plateforme, installe Docker s'il est absent, colle le binaire au bon endroit et lance une interface TUI qui vous demandera alors quelle application vous voulez installer en premier. Et si vous préférez scripter le truc, le paramètre ONCE_INTERACTIVE=false fera le taf sans poser de questions.

Côté apps intégrées, trois outils 37signals sont livrés d'office. Campfire d'abord, qui est l'outil de chat d'équipe historique de Basecamp, passé en open-source le 21 août dernier. Writebook ensuite, pour publier des ebooks ou de la documentation interne. Et Fizzy, un kanban plus récent, sous une licence maison baptisée "O'Saasy" qui interdit de faire concurrence en mode SaaS mais laisse tout le reste ouvert. 3 bricoles simples à installer chez vous, comme ça vous esquivez Slack, Notion et Trello.

Et si vous voulez installer vos propres apps Docker, c'est possible mais sous condition qu'elles respectent quatre règles :

  1. tourner dans un container
  2. servir du HTTP sur le port 80
  3. exposer un endpoint /up pour le healthcheck
  4. et stocker leurs données persistantes dans /storage.

Attention, si votre user n'est pas dans le groupe docker, faudra lancer chaque commande once avec sudo devant, comme c'est marqué dans le README.

ONCE montera alors automatiquement un volume là-dedans et l'incluera dans les backups. Y'a aussi des hooks optionnels comme /hooks/pre-backup pour préparer une copie safe de vos données (genre une base SQLite qu'il vaut mieux ne pas copier à chaud) et /hooks/post-restore pour le cleanup après restauration.

Sous le capot, l'architecture s'appuie sur Kamal Proxy, un autre outil maison 37signals qui gère le routage HTTP et le switch de versions en zero-downtime.

Un détail qui va en sauver plus d'un au passage : si vous êtes derrière Cloudflare Proxy, pensez à passer le mode SSL en "Strict (full)" avant de vous lancer. Si vous loupez ce point, vous allez vous taper des redirect loops incompréhensibles avant de capter d'où ça vient.

Alors évidemment, ONCE reste encore trèèès jeune... Windows n'est pas supporté, et la liste d'applications tierces compatibles est encore limitée. Face à Dokploy qui joue dans la même cour, ONCE mise sur la simplicité radicale (un binaire, un TUI, trois apps fournies) plutôt que sur la polyvalence maximale. Pour un utilisateur solo ou une petite team qui veut juste rapatrier 2 ou 3 outils en interne et faire des économies, c'est franchement pas mal. Mais pour un setup Kubernetes d'entreprise avec 40 services, passez votre chemin, c'est pas le bon outil. OpenCloud sera sans doute plus taillé pour du self-hosting type suite collaborative.

Mais bon, voilà, si vous cherchiez à rapatrier vos outils sur votre machine sans vous taper un cursus DevOps, ONCE mérite qu'on le garde à l'œil. Reste maintenant à voir combien d'apps tierces vont jouer le jeu.

Source : dev.37signals.com

Soulseek - Le P2P musical qui refuse de mourir

Vous vous souvenez de Soulseek ? Mais siii, ce réseau P2P dédié à la musique rare que vos potes audiophiles utilisaient en 2005 pour choper des bootlegs introuvables ?

Hé bah figurez-vous qu'il tourne toujours en 2026, et qu'autour de lui s'est bâtie une communauté d'outils modernes que peu de monde connaît.

Mais avant d'attaquer dans le dur, un petit rappel pour les jeunes qui n'ont connu que Spotify. Nir Arbel a lancé Soulseek le 8 avril 2001, en plein boom Napster, sauf que contrairement à ses concurrents, il a choisi la niche de la musique underground, indé, lossless et les donations plutôt que la pub. Du coup, quand Napster s'effondrait dans les procès et que Limewire se faisait éteindre en octobre 2010, le bon vieux P2P a continué à tourner tranquille, avec ses chatrooms par genre musical (c'était comme un genre d'IRC version fans de vinyles) et sa communauté de collectionneurs obsédés par le FLAC.

L'industrie musicale française a tenté de le démonter en 2008, mais le réseau s'en est sorti avec des blacklists à gérer et des CGU précisant qu'il n'encourage pas le partage de matériel copyrighté. Et c'est ainsi que 25 ans plus tard, le client officiel SoulseekQt tourne toujours, sur Linux, macOS et Windows, avec des mises à jour régulières. C'est moche en Qt, ça sent les années 2010, mais bon ça marche au top !

Le client officiel SoulseekQt, interface Qt un peu datée mais qui fait le job depuis des années.

Maintenant le truc cool, c'est tout ce qu'il y a autour car s'il n'y avait que le client officiel je m'ennuierais un peu tellement c'est austère. Mais heureusement, il existe 4 outils qui rendent aujourd'hui l'expérience carrément plus moderne. Le premier réflexe c'est d'abord d'installer Nicotine+ pour avoir une UI clean, puis d'ajouter slskd derrière si vous voulez faire tourner ça depuis un NAS.

Nicotine+ , c'est le client GTK libre qui est ni plus ni moins qu'un fork du vieux projet Nicotine. Ça tourne partout, Linux, BSD, Haiku, illumos, Windows et macOS et la maintenance semble encore active. C'est plus propre et plus vivant que SoulseekQt.

Nicotine+, l'interface GTK moderne qui remplace avantageusement le client officiel.

Ensuite, y'a slskd , qui est un daemon pour le réseau, 100% headless, écrit en C# avec une Web UI accessible dans le navigateur. Y'a même une API REST sur le port 5030, c'est Docker-ready et compatible Prowlarr. Comme ça, vous le collez sur votre NAS ou votre serveur maison, et vous pilotez vos téléchargements depuis n'importe quel navigateur ! Les accès par défaut sont slskd/slskd, donc pensez à les changer avant d'exposer le truc sur Internet, sinon vous allez avoir des surprises.

La Web UI de slskd, pilotable depuis n'importe quel navigateur, idéale pour un déploiement self-hosted.

C'est pas parfait niveau sécurité par défaut, mais une fois configuré proprement derrière un reverse proxy, ça tient bien la route, y compris sur un Raspberry Pi avec un gros disque dur collé au cul pour stocker la musique.

Et pour ceux qui aiment l'automatisation, il y a sldl . C'est un outil CLI qui batch-download depuis le réseau à partir d'une playlist Spotify, YouTube, d'un CSV, d'un lien Bandcamp ou MusicBrainz. Vous lui filez une URL Spotify par exemple, et ensuite il va chercher chaque morceau en privilégiant le FLAC et en retombant sur du lossy si rien n'est trouvé. C'est comme si vous aviez un bot qui recréait votre bibliothèque Spotify en qualité CD. Attention par contre, sldl demande un compte séparé pour éviter les conflits de connexion avec votre client principal.

Et pour les statisticiens avec des grosses lunettes et une moustache, y'a aussi Slsk-Upload-Stats-Tracker , un petit utilitaire C# qui parse les logs de SoulseekQt (faut activer "Show diagnostics" dans les prefs) et qui vous sort un dashboard des uploads, des top downloaders et des dossiers populaires. C'est clairement niche, mais parfait si vous seedez activement !

Le dashboard de Slsk-Upload-Stats-Tracker avec top downloaders et dossiers populaires.

Côté légal, après rien n'a changé. Le logiciel est légal, et ce que vous partagez dessus l'est ou pas selon le contenu. Donc si vous uploadez du copyrighté, vous êtes exposé aux mêmes sanctions que sur n'importe quel P2P. Pas forcément la meilleure idée en France avec Hadopi qui traîne encore tel un zombie au milieu de l'A86 un jour de départ en vacances. Mais pour les vrais chasseurs de musique, les demos, les live sets, les bootlegs et les raretés qui n'arriveront jamais sur Spotify , la plateforme reste l'un des derniers refuges avec une vraie culture de curation humaine.

Bref, Soulseek n'est pas mort et c'est assez dingue de le voir encore debout en 2026.

selfh.st - L'annuaire vivant du self-hosting

Quand on fait du self-hosting, y'a toujours ce moment où on se dit "tiens, y'aurait pas un truc open source pour ça". Tenez par exemple, là je suis en train de chercher un machin open source pour un mariage qui permet aux invités de balancer leurs photos sur un serveur en scannant un QR Code. Et donc je me retrouve à scroller awesome-selfhosted sur GitHub, qui est une liste fleuve de +1500 projets, en essayant de deviner lesquels sont encore vivants.

Et c'est exactement ce problème qu'a voulu résoudre Ethan Sholly en lançant selfh.st/apps en 2024. En gros, c'est un annuaire d'applications auto-hébergées avec des vrais filtres, du tri, et surtout des indicateurs d'activité. Le mec est aussi derrière la newsletter Self-Host Weekly.

L'interface de selfh.st/apps, avec fiches, filtres et indicateurs d'activité

Comme ça, au lieu de vous taper une liste brute, vous avez des fiches pour chaque app avec le nombre d'étoiles GitHub, la licence, le langage, les tags, et surtout un code couleur sur la date de dernière activité. Vert si le projet a reçu un commit dans les 6 derniers mois, jaune entre 6 et 12 mois, rouge au-delà d'un an. Pratique pour éviter d'installer un truc que plus personne ne maintient, genre un serveur Plex alternatif mort depuis 2022 !

Et le tri par défaut, c'est pas juste les étoiles GitHub sinon les gros projets à 50 000 étoiles écraseraient tout. L'algo prend en compte l'âge du repo, la date du dernier commit, et même l'intérêt Google Trends pour les projets non-GitHub. Du coup un outil avec 200 stars mais hyper actif peut remonter devant un dinosaure à 30k stars qui dort depuis 18 mois. J'ai trouvé ça pas bête comme filtrage.

D'ailleurs, chaque projet a son propre flux RSS filtré qui ne remonte que les releases stables. Pas de bêtas, pas de RC... juste les versions prêtes pour la prod. Comme ça, vous branchez ça dans votre FreshRSS ou Miniflux et vous êtes au courant des mises à jour sans checker chaque repo GitHub à la main ! Par contre, si vous aimez vivre dangereusement sur les nightly, là faudra passer par les flux officiels GitHub.

Le site va également plus loin que la simple liste d'apps puisqu'il propose aussi une section "companions", contenant des apps compagnons qui étendent d'autres logiciels auto-hébergés (genre les extensions navigateur pour Linkedin ou les clients tiers pour Immich...etc).

La collection d'icônes pour personnaliser votre Homarr ou Dashy

Et surtout, y'a selfh.st/icons avec des milliers d'icônes de dashboard en SVG, PNG et WebP, toutes en 512x512 ratio 1:1, indispensable pour personnaliser votre page d'accueil sur Homarr ou Dashy !

Le catalogue d'apps est sous licence CC0-1.0 (domaine public) et mis à jour tous les matins à 5h du mat' heure de New York (les icônes, elles, sont en CC-BY-4.0, donc pensez à créditer si vous les réutilisez). En 2 minutes de fouille j'y ai trouvé trois projets que je connaissais pas. Et si vous voulez ajouter le vôtre, le repo est ouvert sur https://github.com/selfhst .

Et si vous connaissez un outil pour mon projet de QR Code d'upload de photo de mariage, n'hésitez pas à me contacter.

Voilà, pour ceux qui font de l'auto-hébergement au quotidien, c'est clairement un bookmark à garder sous le coude. Que vous cherchiez une alternative à Notion, un dashboard pour votre homelab, ou juste un truc pour remplacer un service cloud qui vous gonfle, y'a de quoi fouiller ! Et si vous cherchez des pistes pour commencer, OpenCloud ou Pocket ID sont de bons points de départ.

Bref, une mine d'or pour les homelabbers.

Merci à Maxime pour le lien !

TriliumNext Notes - Vos notes, votre serveur, zéro cloud

Entre Notion qui vous enferme dans son cloud, Obsidian qui facture la synchro dans son cloud 48 dollars par an et Evernote qui est devenu l'ombre de lui-même... trouver un outil de notes qui tourne chez vous sans dépendre de personne, c'est devenu la quête du Graal. Mais heureusement, TriliumNext Notes coche à peu près toutes les cases.

C'est une appli de prise de notes hiérarchique, open source (AGPL-3.0), qui tourne en local ou sur votre serveur. Imaginez une arborescence de dossiers, sauf qu'au lieu de copier un fichier dans 3 endroits différents, vous le clonez. C'est juste un lien ce qui fait que votre doc "Setup Proxmox" existe à la fois dans "Homelab" et dans "Tutos Linux" sans bouffer un octet de plus.

L'interface de TriliumNext Notes avec son arborescence de notes

Côté fonctionnalités, accrochez-vous puisque ça embarque un éditeur WYSIWYG avec support Markdown, des notes de code avec coloration syntaxique, un canvas Excalidraw pour griffonner des schémas, des diagrammes Mermaid, mind maps, et même des cartes géo avec traces GPX ! Y'a aussi un calendrier, un Kanban, des tableaux, un Web Clipper pour capturer des pages web d'un clic, et un moteur de recherche full-text qui fouille dans toutes vos notes. Franchement, pour un truc gratuit, vous en avez pour votre argent (euuh ?).

Le premier réflexe, ce serait de se dire "encore un clone de Notion". Sauf que que nenni les rabats joie ! Car LE truc qui fait vraiment la diff par rapport à un Anytype ou un Notion, c'est la synchronisation maison. Vous posez une instance serveur sur votre NAS, votre Proxmox, ou même un Raspberry Pi (ça tourne dessus sans broncher), et hop, toutes vos machines se synchronisent via votre réseau.

Pour l'installer, vous avez l'embarras du choix. En desktop classique, un brew install --cask trilium-notes sur Mac, un winget install TriliumNext.Notes sur Windows, ou un Flatpak / .deb / .rpm sur Linux et c'est plié.

Mais le vrai kif, c'est de le poser sur un serveur pour synchroniser toutes vos machines. Avec Docker, ça donne :

docker run -d -p 8080:8080 -v ~/trilium-data:/home/node/trilium-data triliumnext/trilium

Le -v c'est important : ça persiste vos notes en dehors du conteneur. Sans ça, un docker rm et tout disparaît. Une fois lancé, vous allez sur http://votre-ip:8080, vous créez votre mot de passe, et c'est parti. Sur le desktop, vous ajoutez l'adresse du serveur dans les réglages de synchro et toutes vos notes se retrouvent partout. Et si vous voulez y accéder depuis l'extérieur, un petit Tailscale par-dessus et c'est réglé.

Sous le capot, une base SQLite, soit un seul fichier document.db dans ~/.local/share/trilium-data/, qu'on peut copier sur une clé USB en 2 secondes. Pas de PostgreSQL à configurer, pas de Redis à maintenir. La doc officielle annonce 100 000 notes sans problème de perf (ils utilisent better-sqlite3, le driver synchrone le plus rapide de Node.js).

Par contre, attention : les pièces jointes en synchro sont limitées à 1 Go par fichier. Au-delà, ça passe pas. Les notes sensibles, elles, peuvent être chiffrées individuellement en AES-128 avec une session protégée par mot de passe.

Et pour les bidouilleurs, y'a aussi une API REST sur le port 37740 et un système de scripting côté serveur. Vous pouvez créer des widgets custom, automatiser des exports, ou même vous bricoler un mini-dashboard de démarrage. Par contre, faut pas avoir peur de mettre les mains dans le JavaScript.

Et si vous comptez migrer depuis Joplin ou Evernote, y'a également un import natif ENEX + Markdown, donc pas besoin de convertisseur tiers.

Voilà et j'en profite pour vous raconter un peu l'histoire de ce logiciel... Pour votre confiture générale ^^. En fait Trilium a été créé en 2017 par un dev solo et quand il a décidé de raccrocher les gants, la communauté a repris le flambeau sous le nom TriliumNext en publiant des releases régulières mais aussi une traduction dans une dizaine de langues dont le français, et du support OpenID + TOTP pour sécuriser les accès. C'est beau le pouvoir de la communauté !!

Côté mobile par contre, pas d'app officielle. C'est dommage mais TriliumDroid fait bien le job sur Android (dispo sur IzzyOnDroid) et l'interface web passe aussi en PWA (Progressive Web App, tu connais...). Attention quand même, la synchro entre TriliumDroid et le serveur impose que les deux soient sur la même version. Si vous mettez à jour l'un sans l'autre, ça coince comme mon dos en ce moment.

Non, vraiment le seul vrai bémol, comme souvent avec les logiciels libres, c'est que l'interface a un petit côté 2015. C'est pas Notion niveau polish, je ne vais pas vous mentir. Donc si vous êtes du genre à juger un outil à sa typo et ses animations, passez votre chemin. Mais pour un truc gratuit qui gère aussi bien les notes que les mind maps, les Kanban et le scripting... ça se pardonne vite. D'ailleurs si vous aimez les applis de notes self-hosted, je vous avais aussi parlé de Blinko à l'époque qui rajoute de l'IA par-dessus vos notes. Pensez-y !

Bref, allez voir ça, c'est le genre de projet qui mérite le détour.

Et big merci à Rudy pour le lien !

OpenCloud - L'alternative à Nextcloud en Go et sans base de données

Si vous avez déjà installé Nextcloud sur un serveur, vous savez que c'est pas une partie de plaisir ! La stack PHP + MySQL, les mises à jour qui cassent tout, les performances qui s'effondrent dès que vous dépassez 50 utilisateurs... Relouuu.

Mais c'est là qu' OpenCloud débarque avec une approche radicalement différente puisque tout est écrit en Go, y'a zéro base de données, et l'installation se fait en deux commandes sur n'importe quel serveur à 5 balles par mois.

OpenCloud, en fait, c'est un fork d'ownCloud Infinite Scale (OCIS). Les développeurs du projet original chez Heinlein Group ont quitté ownCloud, forké le code, et relancé le tout sous licence Apache 2.0. Du coup, c'est pas un projet qui part de zéro mais une réécriture déjà très mature qui tourne en prod.

Là où Nextcloud utilise une base MySQL ou PostgreSQL pour stocker les métadonnées, OpenCloud balance donc tout dans le système de fichiers. Pas de SGBD ce qui veut dire pas de migration de base à gérer ni de tables corrompues après un crash. Tout atterrit dans le dossier $HOME/.opencloud/ et c'est réglé. Donc si vous savez faire un rsync, vous savez aussi faire une sauvegarde complète de votre instance. Oui la vie est belle !

Côté fonctionnalités, on retrouve donc le partage de fichiers, la collaboration en temps réel avec une suite bureautique intégrée, le chiffrement, le versioning (pratique contre les ransomwares), l'authentification via OpenID Connect... bref tout le classique d'un cloud privé correct.

Maintenant, le problème je trouve, c'est que l'écosystème d'apps est pas forcément au niveau de Nextcloud. Le CalDAV/CardDAV passe par Radicale en conteneur séparé (pas intégré au core), y'a pas d'app Notes ni de client mail intégré. Donc si vous avez besoin de tout ça, Nextcloud reste le bon choix. Mais bon, pour du stockage et de la collaboration pure, c'est clairement plus léger (genre 200 Mo de RAM au lieu de 2 Go pour Nextcloud) et surtout plus rapide.

D'ailleurs, l'architecture microservices en Go fait que ça scale nettement mieux.

Maintenant, pour installer ça, le plus simple c'est Docker Compose. Le repo opencloud-compose vous propose même des configs prêtes à l'emploi. À vrai dire, si vous êtes du genre à auto-héberger vos services , c'est un candidat sérieux pour remplacer votre Nextcloud donc si vous avez surtout besoin de fichiers et de collaboration, ça vaut le test. D'ailleurs, comme OpenCloud utilise OIDC pour l'auth, Pocket ID s'intègre pile poil avec pour du SSO sans mot de passe. Je dis ça, je dis rien ^^.

Bref, si Nextcloud vous gonfle avec sa lourdeur PHP et ses 47 tables MySQL, OpenCloud mérite un bon petit coup d'oeil !

Merci à fredix pour le lien !

msgvault - Libérez vos emails de la prison Gmail

Gmail, c'est 20 ans de notre vie numérique enfermée à double tour sur les serveurs de Google. Nos mails, nos factures PDF, nos photos en pièce jointe, les powerpoint de nichons des collègues...etc tout ça coincé dans une interface web qui rame de plus en plus et qui vous colle du Gemini dans la tronche à chaque clic. C'est pour cela que Wes McKinney (oui, le créateur de pandas et Apache Arrow) a décidé de régler le problème à sa façon avec msgvault , un outil codé en Go qui aspire l'intégralité de votre boîte Gmail en local.

C'est un binaire unique qui se connecte via OAuth à votre compte Gmail, télécharge tous vos messages et pièces jointes, et stocke le tout dans une base SQLite. C'est fait pour ceux qui galèrent à récupérer leurs mails sans passer par le très lent Google Takeout... Par contre, la première sync prend du temps parce que Google rate-limite sévère, mais ensuite les syncs incrémentales se font en quelques secondes. Avec un petit cron, c'est vite réglé.

Ce qui est bien foutu avec ce projet c'est l'architecture puisque SQLite sert de base de référence, mais pour les requêtes, msgvault génère des fichiers Parquet et utilise DuckDB pour fouiller vos millions de mails quasi instantanément. À vrai dire, McKinney a testé avec près de 2 millions d'emails et plus de 150 000 pièces jointes stockées sur son disque, soit 39 Go au total, et ça tourne nickel sur sa machine.

Les pièces jointes sont même dédupliquées par hash de contenu, du coup si vous avez reçu le même PDF 47 fois... hé bien il n'est stocké qu'une seule fois.

Côté interface, y'a le choix. Soit vous passez par une TUI pour naviguer dans vos mails depuis le terminal, ou un CLI pour scripter en bash, voire pourquoi pas un serveur MCP qui permet de brancher l'outil directement sur Claude Desktop ou n'importe quel agent IA compatible.

L'interface TUI pour gérer vos emails

Comme ça, vous lui demandez des trucs genre "retrouve-moi ce contrat envoyé par machin en 2019" et ça sort un résultat en quelques secondes ! Tout ça en local, sans que vos données ne transitent chez qui que ce soit.

D'ailleurs, si vous aviez déjà sauvegardé vos emails Gmail avec les bonnes vieilles méthodes (Thunderbird, getmail, fetchmail...), msgvault va carrément plus loin puisque l'outil gère plusieurs comptes Gmail, et surtout il permet de supprimer vos mails côté Google tout en gardant votre copie locale (vérifiez bien quand même que votre archive locale est complète avant, hein, sinon oups la boulette). Donc msgvault c'est clairement un vrai plan de sortie de Gmail...

Attention quand même, c'est de l'alpha ! Y'a des bugs, et des trucs qui vont forcement changer / casser en fonction des releases. Par exemple projet a débuté en Python et Rust avant de basculer sur du Go pur, histoire de simplifier la distribution (un seul fichier binaire, zéro dépendance) et la roadmap de Wes prévoit l'import de fichiers .mbox, le support d'autres fournisseurs mail, et à terme l'archivage de WhatsApp, iMessages et de vos SMS. Une Web UI compatible Tailscale est aussi dans les cartons pour accéder à vos archives depuis votre téléphone.

Bref, c'est que du bon ! Et comme les mails c'est le nerf de la guerre et beaucoup de souvenirs, autant les garder chez vous !

Le code est sur GitHub .

Pangolin - Proxy, VPN et auth enfin réunis

Si vous auto-hébergez vos propres services parce que VOUS AVEZ DU TEMPS GRÂCE A VOTRE BULLSHIT JOB SURPAYÉ, vous connaissez la chanson... il vous faut un reverse proxy type Nginx Proxy Manager pour router le trafic, un tunnel Cloudflare ou WireGuard pour exposer vos services sans ouvrir de ports, et un truc genre Authentik pour l'auth. Donc 3 outils, 3 configs différentes, et surtout 3 trucs qui peuvent vous péter à la gueule à tout moment, surtout quand vous êtes en vacances ou en train de jouer avec vos enfants.

Mais heureusement, j'arrive à la rescousse avec Pangolin , un projet open source qui colle tout ça dans un seul paquet : Proxy inversé, tunnels WireGuard chiffrés, authentification zero-trust, le tout orchestré par Docker. Une commande de grosse feignasse dans le terminal et c'est installé !!

curl -fsSL https://static.pangolin.net/get-installer.sh | bash

Le truc peut tourner sur n'importe quel VPS avec une IP publique (Ubuntu 20.04+ ou Debian 11+, AMD64 ou ARM64). L'installeur pose Docker, Traefik et les conteneurs en 2-3 minutes chrono et ensuite vos services à la maison se connectent via des tunnels WireGuard... sans ouvrir le moindre port sur votre box ! Comme ça, que ce soit votre Jellyfin de cyberpirate, votre Nextcloud ou votre Gitea... tous deviennent accessibles depuis n'importe où, avec les certificats Let's Encrypt automatiques derrière qui vont bien.

Sous le capot, c'est du NAT traversal intelligent. Même derrière un CGNAT Orange ou un firewall restrictif de chez Free, les tunnels WireGuard trouvent, comme la vie dans Jurassic Park, toujours leur chemin via UDP. Pas besoin de DDNS, pas besoin de supplier votre FAI pour une IP fixe. Par contre, si vous avez déjà galéré avec du port forwarding sur une Livebox 5, vous savez à quel point c'est appréciable !

D'ailleurs, côté sécurité c'est carrément différent d'un VPN mesh classique type Tailscale . Au lieu de filer l'accès à tout un réseau (et prier pour que personne ne fasse n'importe quoi), Pangolin fonctionne en zero-trust : Chaque utilisateur n'accède qu'aux ressources que vous avez explicitement définies. SSH, RDP, bases de données, apps web... vous choisissez qui voit quoi et y'a même du MFA, du geo-blocking, voire du blocage par ASN si le cœur vous en dit.

Côté architecture, c'est un petit zoo : Pangolin (le serveur en TypeScript), Gerbil (le tunneling WireGuard), Newt (le connecteur réseau local) et Traefik comme reverse proxy. Oui, y'a un genre de thème "animaux fouisseurs"... à vrai dire c'est assez mignon tant que ça trimballe pas des virus. Et des clients natifs existent pour Mac, Windows, Linux, iOS et Android, pas forcément courant pour un projet de cette taille.

Pour l'auth, ça supporte Azure AD, Google, ou n'importe quel provider OAuth2/OIDC. Du coup, si vous utilisez déjà Pocket ID pour votre SSO passkey, ça s'emboîte bien (qui a dit "comme papa" ??). Pangolin c'est donc le top pour disposer d'un accès public à vos services (là où Tailscale gère le mesh privé).

Attention quand même, y'a 4 ports à ouvrir sur votre VPS : 80 et 443 en TCP (classique), plus 51820 et 21820 en UDP pour les tunnels WireGuard. Oubliez pas le 21820 sinon les clients ne se connecteront pas. La licence est dual : AGPL-3 pour la Community Edition (gratuite), et une licence commerciale pour l'Enterprise (gratuite aussi pour un usage perso et les boîtes sous 100K$ de CA). Si vous ne voulez pas gérer l'infra, y'a aussi une offre cloud managée et un installer one-click sur DigitalOcean.

CrowdSec , que j'adore, est même intégrable en option pour ajouter une couche de sécurité collaborative, et si vous utilisiez Nginx Proxy Manager avant, la migration vaut le coup d'être envisagée.

Bref, si votre stack self-hosted ressemble à un millefeuille de conteneurs, Pangolin mérite clairement un essai poussé. Et un grand merci à Tom Nook pour le partage !

❌