• Résultats de recherche
  • Astuce : touchez "entrer" pour voir plus de résultat.
Dokku : créez votre propre Cloud NodeJS (PaaS)

Dokku : créez votre propre Cloud NodeJS (PaaS)

Aujourd’hui, je vais vous présenter un outil open source qui vous permettra de mettre en place un PaaS (Platform as a Service, Plateforme en tant que Service) à la manière Heroku. Le but de ce système est de faciliter le déploiement d’application tels que NodeJS, Ruby on Rails sur vos serveurs en une seule commande (git push dokku master).

Vous développez une application NodeJS, vous terminez le projet, et vous souhaitez déployer l’application, il suffira alors d’ajouter les fichiers que vous voulez « commiter » avec GIT, puis de les envoyer sur le dépôt distant créé par Dokku. Sur la branche « develop » de votre dépôt, il n’y aura aucun déploiement, par contre, sur la branche « master » de votre dépôt, Dokku compilera votre application avec Buildpack et rendra votre application en ligne.

Dokku se compose de plusieurs modules :

  • Gitreceive : interface GIT & SSH
  • Buildpack : préparation des applications (Webpack, etc…)
  • Docker : gestion de containers
  • Nginx : gestion du trafic HTTP

Prérequis

Pour ce tutoriel, j’utiliserai un serveur VPS de chez OVH avec une distribution Linux : Ubuntu 14.04 LTS (Long-Term Support). Et j’utiliserai aussi un terminal de commande disposant de GIT & SSH (cmder sur Windows 10).

Dokku fonctionne très bien sur ces autres OS :

  • Ubuntu 16.04 x64
  • Ubuntu 14.04 x64
  • Debian 8.2 x64
  • CentOS 7 x64 (expérimental) avec l’ensemble FQDN (Fully Qualified Domain Name, ou nom de domaine complètement qualifié)

Je vous conseille d’utiliser une machine dédiée ou virtuelle avec au moins 1Go de mémoire système (RAM).

Dokku est conçu pour être utilisé sur une nouvelle installation de machine et doit installer toutes les dépendances nécessaires lors de l’installation via la méthode « bootstrap ».

Dokku : créez votre propre Cloud NodeJS (PaaS)
Dokku : créez votre propre Cloud NodeJS (PaaS)

Installation de Dokku

Pour installer la dernière version stable de Dokku, vous pouvez exécuter les commandes « shell » suivantes :

wget https://raw.githubusercontent.com/dokku/dokku/v0.20.0/bootstrap.sh;sudo DOKKU_TAG=v0.20.0 bash bootstrap.sh

Le processus d’installation prend environ 5 à 10 minutes selon la vitesse de connexion Internet de votre machine dédiée ou virtuelle. Si vous utilisez Debian 8 ou Ubuntu 14.04, assurez-vous que votre gestionnaire de paquets est configuré pour installer une version suffisamment récente de Nginx, sinon l’installation peut échouer en raison de « dépendances non satisfaites » liées à Nginx.

Configurer la clé SSH et les paramètres Virtualhost

Une fois l’installation de Dokku terminée, vous pouvez ouvrir un navigateur pour configurer vos paramètres de clé SSH et de Virtualhost. Pour cela, ouvrez le navigateur de votre choix (Google Chrome par exemple) et accédez à l’adresse IP de votre machine dédiée ou virtuelle, ou au domaine que vous auriez attribué à cette adresse IP, et configurez Dokku via l’administrateur Web.

Il suffira de saisir votre SSH « Public Key », le nom d’hôte (hostname) de votre machine dédiée ou virtuelle pour terminer la configuration de l’installation de Dokku. Si vous ne terminez pas la configuration via le programme d’installation Web (même si vous configurez des clés SSH et des hôtes virtuels dans le cas contraire) votre installation Dokku restera vulnérable à toute personne trouvant la page de configuration et insérant sa clé.

Déployez votre première application sur Dokku

Une fois que Dokku a été configuré avec au moins un utilisateur, les applications peuvent être déployées via une commande (git push). Pour voir rapidement le déploiement de Dokku en action, vous pouvez utiliser l’exemple d’application Heroku Ruby on Rails.

git clone [email protected]:heroku/ruby-rails-sample.git ruby-rails-example

Avant de déployer cette application sur Dokku, il faut d’abord créer l’application sur l’hôte Dokku. Vous aurez besoin de SSH sur votre ordinateur pour exécuter cette commande.

Connectez-vous à votre machine dédiée ou virtuelle avec cette commande :

ssh [email protected] -p 22

Puis saisissez la commande suivante pour créer votre première application avec Dokku :

dokku apps:create ruby-rails-exemple

Lorsque vous créez une nouvelle application, Dokku par défaut ne fournit pas de banque de données telles que MySQL ou PostgreSQL. Vous aurez besoin d’installer des « plugins » (extensions) pour gérer cela, mais heureusement, Dokku a des « plugins » officiels pour les bases de données. Notre exemple d’application nécessite un service PostgreSQL :

sudo dokku plugin:install https://github.com/dokku/dokku-postgres.gitdokku postgres:create rails-database

Une fois la création du service terminée, définissez la variable d’environnement « POSTGRES_URL » en reliant le service :

dokku postgres:link rails-database ruby-rails-exemple

Vous pouvez maintenant déployer l’application « ruby-rails-exemple » sur votre serveur Dokku. Tout ce que vous avez à faire est d’ajouter une commande pour nommer l’application. Les applications sont créées à la volée sur le serveur Dokku.

cd ruby-rails-exemple git remote add dokku [email protected]:ruby-rails-exemplegit push dokku master

Le terminal affichera alors la compilation de votre application et rendra disponible votre application une fois que le terminal aura rendu la main.

Pour en savoir plus sur les commandes, les « plugins » disponible sur Dokku, vous pouvez consulter la documentation Anglaise, qui, au passage, est très bien écrite !

Partager
Articles alternatifs
Comment installer un blog avec Ghost sur un serveur dédiée ou un VPS ?
Ghost est une jolie alternative à WordPress, qui permet comme son homologue de publier du contenu sur un blog. Vous...
Publié par Maxence Rose le 21 janvier 2020
ElectronJS : créer un compteur d’abonné sur Raspberry Pi
Il y a quelques mois, j’avais écrit un article sur la mise en place d’un compteur d’abonné de vos réseaux...
Publié par Maxence Rose le 20 mars 2019
Top 3 des critères à prendre en compte pour héberger un site web
Vous êtes actuellement à la recherche d’une solution d’hébergement pour votre site web ? Avec une multitude d’offres disponibles et...
Publié par Maxence Rose le 4 décembre 2021
Commenter
Gravatar
  • Enflammé(e)
  • Sous le charme
  • Joyeux
  • Triste
  • Poce blo
  • Aucune

Pour partager votre avis avec cet article, vous pouvez laisser un commentaire en donnant votre nom, votre adresse email, et votre site Internet. Aucune authentification n'est nécessaire. Vous vous apprêtez à commenter l'article « Dokku : créez votre propre Cloud NodeJS (PaaS) », n'oubliez pas de respecter les règles de communauté : aucun spam, aucune insulte et aucun contenu interdit par la loi. Vous pouvez effacer vos données de formulaire enregistrées en session en .