Utilisez un domaine local avec Cosmos Cloud
Cosmos Cloud

Utilisez un domaine local avec Cosmos Cloud

Table des matières

Cosmos Cloud vient de sortir récemment dans sa version 0.16.0, qui est à ce jour en 0.16.3, et cette nouvelle mise à jour apporte son lot de changements, dont un que nous allons découvrir ensemble aujourd'hui et les autres, à très court terme.

À partir de la version 0.16.0, Cosmos prend en charge les domaines locaux. C'est un service qui vous permet de découvrir des services sur votre réseau local. Par exemple, votre instance Cosmos pourrait être accessible sur cosmos.local sur votre réseau local, et toutes vos applications seront disponibles sous des domaines individuels.

Concrètement, imaginons que vous n'ayez pas de domaine, mais que, par facilité, vous vouliez avoir un domaine local (en .local) pour rendre vos URL's plus faciles à retenir.

Prenons, par exemple, le cas de l'application Homarr, plutôt que d'avoir une URL du type http://192.168.1.152:7575, vous pourriez avoir une URL du type https://homarr.local ou encore https://homarr.cosmos.local. Par la même occasion vous hériteriez d'un certificat SSL auto-signé et d'un domaine .local ou xxx.local. Sympa non?

Notez que Cosmos Cloud pouvait déjà générer du SSL auto-signé dans les versions précédentes.

🔧 Prérequis

⚠️
Je pars du principe que vous n'avez pas de domaine, sans quoi ce tutoriel ne vous est pas destiné. Na!

Si vous utilisez une installation existante de Cosmos Server

Le fait d'avoir mis à jour Cosmos Cloud ne suffira pas, rassurez-vous, la procédure est simple et rapide. La commande pour installer Cosmos Cloud à évoluée. Il y a l'ajout de dbus.

Pour commencer on va stopper le container Cosmos:

docker stop cosmos-server

Ensuite on va supprimer le container, pas de panique, vos données ne risquent rien:

docker rm cosmos-server

Et pour finir on va déployer à nouveau le container Cosmos avec la nouvelle ligne de commande contenant les modifications nécessaires:

sudo docker run -d --network host  --privileged --name cosmos-server -h cosmos-server --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket -v /:/mnt/host -v /var/lib/cosmos:/config azukaar/cosmos-server:latest

Si vous faites une nouvelle installation de Cosmos Cloud

Dans ce cas, procédez à son installation normale, avec la nouvelle commande. Quand vous arrivez ici:

Dans le champ Nom d'hôte, indiquez le domaine souhaite, dans cet exemple ça sera cosmos.local et poursuivez l'installation classique.

Pour les utilisateurs Linux

Il faudra installer Avahi sur votre serveur Ubuntu/Debian :

sudo apt-get install avahi-daemon avahi-utils

Ensuite, démarrez et activez le service :

sudo systemctl start avahi-daemon
sudo systemctl enable avahi-daemon

Vous pouvez vérifier les status avec la commande:

sudo systemctl status avahi-daemon

Ce qui retourne:

Pour les utilisateurs de Windows

Il faudra télécharger et installer Bonjour:

Download Bonjour Print Services for Windows v2.0.2 - Apple Support
Bonjour Print Services for Windows lets you discover and configure Bonjour-enabled printers from your Windows computer using the Bonjour Printer Wizard.

Pour les utilisateurs de macOS

Il n'y a rien à faire vu que Bonjour est un service Apple.

Sous Android

Il n'y a rien à faire.


🔗 Comment créer une URL avec un nom de domaine local

Si vous installer une application à partir du magasin d'applications de Cosmos, dans mon exemple, Homarr:

Juste avant d'installer, une fenêtre va s'ouvrir et je vais simplement taper homarr.local dans Hostname, ne prêtez pas attention au message d'avertissement en rouge, continuez l'installation.

Quand l'installation est terminé, Homarr est bien sur votre page principale:

Cliquez dessus et vous arriverez ici à l'authentification (que vous pouvez désactiver plus tard si vous n'en voulez pas):

Une fois que j'ai entré mon compte utilisateur, je suis redirigé vers Homarr, sur le domaine local https://homarr.local,

C'est exactement le même principe par URLs ou pour créer un proxy URL:


🌐 Joindre son instance Cosmos Cloud avec un domaine local

Le domaine local s'applique aussi pour Cosmos Cloud lui-même, au lieu de taper https://ip:port.

Dans la partie configuration:

Ajoutez le domaine souhaité dans le champ correspondant au Nom d'hôte. Quand c'est fait, cliquez en bas de page sur Enregistrer:

Si vous configurez Cosmos de cette façon, tous les URL des services seront ajoutées sous cette forme:

  • https://monapp.cosmos.local.

❌ Cela ne fonctionne pas

Utilisation de AdGuard Home ou Pi-hole

Si vous utilisez AdGuard Home ou Pi-hole, il se peut que cela ne fonctionne pas. J'ai eu la blague et j'ai mis du temps à comprendre!

Il faudra ajouter une entrée DNS qui pointe sur *.local:

  • Remplacez 192.168.1.30 par l'ip de votre serveur.

Vérifier la configuration

Dans la partie configuration, veillez vous assurer que Publish .local domaines on your local network with mDNS soit bien coché:


zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.