Installer Cosmos Cloud : Le guide complet pour l’auto-hébergement sécurisé

Installer Cosmos Cloud : Le guide complet pour l’auto-hébergement sécurisé

Vous cherchez une solution simple et efficace pour centraliser vos services web et cloud tout en assurant leur sécurité ? Cosmos Cloud se positionne comme un outil incontournable pour les amateurs d’auto-hébergement, que vous soyez débutant ou confirmé. Grâce à son interface intuitive et à ses nombreuses fonctionnalités, Cosmos Cloud facilite l’installation, la configuration et la gestion de vos conteneurs Docker et applications. Dans cet article, découvrez comment installer Cosmos Cloud pas à pas et exploitez pleinement son potentiel pour une gestion optimisée de vos services en ligne.

Cosmos Cloud, à quoi ça sert ?

Cosmos Cloud est une plateforme tout-en-un conçue pour faciliter l'auto-hébergement de services web et cloud.

Cosmos Cloud est une plateforme tout-en-un conçue pour faciliter l’auto-hébergement de services web et cloud. Elle s’adresse aussi bien aux débutants qu’aux utilisateurs expérimentés, offrant une interface intuitive pour la gestion des conteneurs Docker et des services associés.

Parmi ses fonctionnalités clés :

  • Sécurité renforcée : Cosmos intègre un système d’authentification unique (SSO) avec des mécanismes anti-bot, anti-DDOS et une authentification à deux facteurs (2FA), garantissant la protection de vos données personnelles.
  • Marketplace d’applications : Une sélection d’applications populaires est disponible pour une installation en quelques clics, avec une configuration automatique des paramètres de sécurité, des bases de données et des règles HTTPS.
  • Proxy inverse intégré : Simplifie la gestion des domaines et l’accès sécurisé aux applications via une interface moderne.
  • Gestion des conteneurs : Permet de contrôler, mettre à jour et surveiller vos conteneurs directement depuis l’interface de Cosmos.
  • VPN intégré (Constellation) : Offre une connexion sécurisée à votre serveur à distance, sans nécessiter l’ouverture de ports, incluant un service DNS similaire à PiHole.
  • Surveillance en temps réel : Fournit des alertes personnalisables pour être informé de tout problème potentiel.
  • Gestion des disques : Facilite la gestion, le formatage et la partition de vos disques, avec des options de protection des données telles que Parity Disks et MergerFS, ainsi qu’une surveillance S.M.A.R.T.

Cosmos se distingue par son approche intégrée, combinant des outils tels que le proxy inverse, la gestion des conteneurs et des fonctionnalités de sécurité en une seule plateforme conviviale. Cette intégration vise à simplifier l’auto-hébergement pour les utilisateurs, tout en maintenant un haut niveau de personnalisation et de contrôle.

Mise en place d’une plateforme d’autohébergement

Mise en place d’une plateforme d’autohébergement

Voici quelques points nécessaires à la bonne compréhension des tutoriels sur l’autohébergement avec Cosmos CLoud.

Voici mon infra perso :

  • J’utilise un mini-pc ACEMAGIC  qui tourne sur une Debian 12, pour héberger Cosmos Cloud chez moi
  • J’ai réservé un nom de domaine qui est hébergé chez OVH
  • Je dispose d’un accès Fibre Orange de 1G avec une LiveBox 6, mais à ce titre je n’ai pas d’adresse IP fixe, ce qui pose un problème. J’utilise donc le DYNHOST de  OVH pour récupérer l’IP publique de ma connexion Orange et mettre à jour  le DNS de mon domaine sur lequel mes applications sont hébergées chez moi

Mise en place du DYNHOST d’OVH sur un domaine

Mise en place du DYNHOST d’OVH sur un domaine

Une fois sur votre interface OVH, dédié à votre domaine, il suffit d’aller dans l’onglet DYNHOST et de cliquer sur Ajouter un DYNHOST

Une fois sur votre interface OVH, dédié à votre domaine, il suffit d’aller dans l’onglet DYNHOST et de cliquer sur Ajouter un DYNHOST

  • 1: Saisir votre nom de domaine réservé chez OVH, attention, il ne faut rien mettre dans sous-domaine, sinon vous devrez recréer un DYNHOST par application.
  • 2: Récupérer votre adresse IP publique de votre connexion Internet. Pour cela vous pouvez utiliser le site https://www.monip.org/.
  • 3: Cliquer sur Valider pour enregistrer votre DYNHOST

Maintenant, vous devez créer un utilisateur pour accéder à cette ressource. Cet utilisateur sera nécessaire pour configurer le service DYNHOST sur votre Livebox pour pouvoir récupérer l’adresse IP publique de votre accès Internet, lorsqu’il changera.

Sur votre dashboard OVH, il faut aller dans DynHOST -> Gérer  les accès -> Créer un identifiant

vous devez créer un utilisateur pour accéder à cette ressource. Cet utilisateur sera nécessaire pour configurer le service DYNHOST sur votre Livebox pour pouvoir récupérer l’adresse IP publique de votre accès Internet

  • 1: Mettez une étoile pour indiquer que tous les sous-domaine de votre domaine racine sont concerné
  • 2: Saisissez votre nom de domaine hébergé chez OVH
  • 3: Saisissez le mot de passe de connexion que vous souhaite
  • 4: Valider la création de votre identifiant

Maintenant vous devez créer un accès DynDNS sur votre Box. Ayant une Livebox, je vous indique la procédure pour Orange (Vous pouvez m’envoyer vos procédures pour les autres FAI, Bouygues, Free, …).

vous devez créer un accès DynDNS sur votre Box

Il faut aller dans Réseau -> DynDNS. Dans la liste des fournisseurs disponible sélectionner OVH-Dynhost puis saisissez les informations comme le nom d’hôte, nom d’utilisateur et mot de passe qu’OVH vous a fournie à l’étape précédente. Cliquer sur Enregistrer.

Maintenant à chaque modification d’adresse IP de connexion, votre DNS sera mis à jour immédiatement.

Installer Cosmos Cloud

Pour installer Cosmos CLoud, vous devez respecter les prérequis suivants :

  • un serveur sous Linux (Je préfère le système Debian)
  • avoir installer docker et docker-compose
  • avoir un nom de domaine et pouvoir gérer son DNS, comme sur OVH par exemple
  • avoir accès aux paramètres de votre Box pour créer des NAT

Pour ma part, j’ai créé une entrée dans mon DNS pour pouvoir accéder à Cosmos Cloud depuis l’extérieur, sur mon compte OVH. N’oubliez pas que nous utilisons les CNAME sur OVH pour éviter de récréer à chaque service un service DYNDNS.

Ajouter une entrée DNS chez OVH pour accéder à Cosmos Clous

Allez dans Nom de domaine -> Zone DNS -> Ajouter une entrée

Création d'un CNAME dans une zone DNS chez OVH

Puis sélectionner CNAME.

Ajouter une entrée CNAME pour accéder aux application Cosmos Cloud

  • 1: indiquer le nom de votre sous-domaine, qui correspond au nom de la ressource que vous souhaitez accéder, par exemple cosmos1.mondomaine.com
  • 2: indiquer le nom de votre domaine mondomaine.com
  • 3: récapitulatif de votre entrée DNS

Maintenant que votre entrée DNS est prête, connectez-vous en SSH sur votre serveur et créer le fichier docker-compose avec le contenu ci-dessous :

Exemple de docker-compose pour lancer cosmos cloud

Une attention particulière doit être apportée aux volumes suivants :

  • /var/run/docker.sock:/var/run/docker.sock (Permet à Cosmos Cloud d’avoir accès au socket Docker)
  • /var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket
  • /:/mnt/host (Ce volume est optionnel et permet de gérer les dossiers à partir de Cosmos, vous pouvez l’enlever si vous ne le souhaitez, mais vous devrez créer manuellement les dossiers bind de votre conteneur)

Une fois le container déployé, il va falloir se rendre sur l’IP de votre serveur, en navigation privée pour éviter tout problème de cache. Comme votre container est en mode Host pour le réseau, il va prendre l’adresse IP de votre serveur Linux sur lequel il est installé et vous devriez arriver sur cette page :

Page de configuration from scratch de Cosmos Cloud

Vous pouvez changer directement la langue pour vous facilitez l’installation.

Cosmos Cloud va s'assurer que Docker est correctement installé

Cosmos Cloud va s’assurer que Docker est correctement installé, ce qui est effectivement le cas. On peut maintenant passer à l’étape suivante en cliquant sur Suivant.

Cette procédure installera MongoDB, la base de données.

Cette procédure installera MongoDB, la base de données. Cliquez sur « Connecter », dans la liste je vous conseille de sélectionner Créer automatiquement une base de données sécurisée… .

La base de donnée est maintenant connectée

J’ai sélectionné Let’s Encrypt le DNS Challenge, mais j’effectue le paramétrage une fois l’installation de Cosmos Cloud finalisée.

Sélectionner Let’s Encrypt le DNS Challenge pour que chaque nouvelle application récupéère automatiquement un certificat chez Let’s Encrypt

Dès que Cosmos Cloud a établi votre compte administrateur, il vous suffit de cliquer sur Appliquer et Redémarrer.

Création de votre compte Admin. Redémarrer Cosmos Cloud est prêt.

Enregistrer et redémarrer votre container.

Et voilà, l’installation est terminée et c’est opérationnel, bravo ! 🎉

Si vous avez respecter les étapes précédentes, vous devriez arriver à la mire de login de Cosmos Cloud.

Paramétrages spécifiques de Cosmos Cloud

Dans ce paragraphe, nous allons mettre un peu les mains dans le cambouis, pour effectuer les premiers paramétrages, pour avoir une installation stable.

Allez dans le menu Gestion -> Configuration

Définir un répertoire de sauvegarde

Définir un répertoire de sauvegarde pour Cosmos Cloud

Vous devez indiquer le chemin complet sur votre serveur ou Cosmos Cloud pourra sauvegarder sa configuration (elles est réalisée automatiquement, plusieurs fois par jour). Pour ma part j’installe toujours mes containers dans le chemin /opt/containers/.

Définir l’URL d’accès à Cosmos CLoud

Définir l’URL d’accès à Cosmos CLoud

Pour l’instant je n’utilise pas la fonctionnalité VPN proposée par Cosmos Cloud et mon dashboard est accessible directement depuis Internet.

  • 1: Saisir votre URL d’accès par exemple cosmos.mondomaine.com
  • 2: Cocher Autoriser l’accès non-sécurisé via IP locale (Lorsque le HTTPS est utilisé avec un domaine, selon votre configuration réseau, il est possible que votre serveur ne reçoive pas de connexions locales directes. Cette option vous permet également d’accéder à votre interface d’administration Cosmos en utilisant votre adresse IP locale, comme ip:port. Vous pouvez déjà créer des URL ip:port pour vos applications, mais elles seront en HTTP uniquement.)
  • 3: Définir les ports accessibles pour l’administration de Cosmos, vous devrez les ouvrir via un NAT sur votre Box, pour pouvoir y accéder depuis l’extérieur de votre domicile
  • 4: Décocher Autoriser les moteurs de recherche à indexer votre serveur, il n’apparaitra pas dans les moteurs de recherche sur le net.
  • 5: Décocher Publish .local domains on your local network with mDNS qui à tendance à modifier les domaines de vos applications en interne ce qui les rends inaccessibles depuis votre réseau.

Paramétrer la création de certificat avec Let’s Encrypt

Paramétrer la création de certificat avec Let’s Encrypt

Cette section est vraiment importante, car elle permet d’automatiser complètement la gestion des certificats https de vos applications.

  • 1: Cocher la case générer automatiquement les certificats d’authentification manquants
  • 2: Sélectionner générer automatiquement des certificats à l’aide de Let’s Encrypt
  • 3: Cocher  Utiliser un certificat générique pour le domaine racine de mondoamine.com (votre domaine apparait automatiquement)
  • 4: Saisir l’adresse mail pour Let’s Encrypt
  • 5: Sélectionner votre fournisseur DNS (pour ma part je suis chez OVH, je vais donc vous expliquer la configuration du DNS Challenge chez eux)

Pour que Cosmos, puisse renouveler vos certificats automatiquement, Let’s Encrypt doit être sûre que le domaine vous appartient bien. Pour cela vous allez devoir « jouer » un challenge DNS.

Pour que Cosmos, puisse renouveler vos certificats automatiquement, Let’s Encrypt doit être sûre que le domaine vous appartient bien. Pour cela vous allez devoir « jouer » un challenge DNS.

Chez OVH (1) (je vous rappelle que mon nom de domaine est chez OVH) cela se passe via les API, et il va falloir créer des tokens en suivant cette URL : https://www.ovh.com/auth/api/createApp

On rentre son account ID et mot de passe. On choisit un nom d’application ici cosmos-dns-challenge ainsi qu’une description.

Si votre compte OVH  gère plusieurs domaines, je vous conseille de limiter l’autorisation au domaine concerné.

Remplacer /domain/zone/* par /domain/zone/<VOTRE_DOMAINE>/* et  répétez l’opération pour les droits GET, PUT, POST, DELETE.

Créer des tokens pour effectuer le challenge DNS Lets' Encrypt

Conserver application_key, application_secret et votre consumer_key, pour les copier dans les paramètres de Cosmos CLoud (2).

pour le paramètre OVH_ENDPOINT, il faut saisir : ovh-eu

Création des API pour le challenge DNS avec Let's Encrypt

Voilà maintenant votre instance Cosmos Cloud peut délivrer des certificats pour vos applications.

Attention!!! N’oubliez pas de cliquer sur Enregistrer pour valider tous les paramètres. Voilà pour ce premier tutoriel. Vous devriez avoir une instance Cosmos Cloud opérationnelle.

Signature manuelle Guillaume

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *