Comment déployer la plate-forme Appsmith Low Code avec Docker
Agence web » Actualités du digital » Comment déployer la plate-forme Appsmith Low Code avec Docker

Comment déployer la plate-forme Appsmith Low Code avec Docker

Appsmith est une plate-forme low-code permettant d’assembler des logiciels métier complexes à partir de composants d’interface utilisateur prédéfinis. Il se connecte à vos sources de données existantes telles que les bases de données SQL, les feuilles de calcul, les API REST et les points de terminaison GraphQL. Vous pouvez relier ces référentiels d’informations à des widgets riches, notamment des tableaux, des listes et des graphiques.

Appsmith Community Edition est open-source et peut être entièrement auto-hébergé. Dans ce guide, nous montrerons comment déployer votre propre instance Appsmith en tant que conteneur Docker. Il s’agit de la méthode recommandée qui simplifie l’installation initiale et la maintenance continue. Nous supposerons que Docker et Docker Compose sont déjà installés sur votre système.

Un premier déploiement

Vous pouvez démarrer un serveur Appsmith de base pour l’expérimentation en utilisant docker run seul:

$ docker run -d --name appsmith -p 8080:80 -p 9001:9001 
    -v $PWD/appsmith-stacks:/appsmith-stacks
    appsmith/appsmith-ce

Cela démarre un nouveau conteneur en utilisant le appsmith/appsmith-ce image et lie le appsmith-stacks répertoire dans votre répertoire de travail pour /appsmith-stacks à l’intérieur du conteneur. Vous devez toujours monter un volume à cet emplacement pour éviter la perte de données après la mise à jour ou le redémarrage du conteneur Appsmith.

La première initialisation d’Appsmith peut prendre un certain temps. Le conteneur générera des fichiers de configuration, créera votre base de données MongoDB et activera l’ensemble initial de plugins d’application. Vous pouvez vérifier quand votre instance est prête pour les connexions en suivant les journaux du conteneur :

$ docker logs appsmith --follow

Attendez de voir un Appsmith is Running! message dans la sortie du journal.

Configuration d’Appsmith

Visitez maintenant localhost:8080 dans votre navigateur. Ce port était lié au port 80 du conteneur dans le docker run commande ci-dessus. Remplacez par votre propre valeur si vous avez modifié le numéro de port dans la commande.

image de la page de destination d'Appsmith après une nouvelle installation

Vous devriez voir la page de destination de l’interface utilisateur Web d’Appsmith. Cliquez sur « Commencer » et remplissez le formulaire pour configurer votre instance Appsmith. Vous serez alors redirigé directement vers une nouvelle application prête à se connecter à vos sources de données.

Utilisation du superviseur

L’image Appsmith Docker utilise supervisord pour exécuter plusieurs processus dans un même conteneur. L’interface utilisateur Web du superviseur est exposée sur le port 9001 ; dans le docker run commande ci-dessus, le port hôte 9001 était lié au conteneur, vous pouvez donc afficher la liste des processus de votre conteneur en visitant localhost:9001 dans votre navigateur.

image de l'interface Web de supervision pour Appsmith

Visiting Supervisor peut vous aider à déboguer les problèmes lorsque l’un des composants Appsmith cesse de fonctionner. Vous pouvez redémarrer les processus, afficher leurs journaux et les arrêter sans tuer le conteneur Docker. Garder le superviseur exposé comme ceci est cependant un risque de sécurité : ne liez pas le port 9001 à un conteneur Appsmith de production à moins que vous ne configuriez d’abord l’authentification.

Utilisation de Docker Compose

Il est recommandé d’utiliser Docker Compose pour les déploiements Appsmith à long terme. Appsmith maintient son propre docker-compose.yml qui configure automatiquement un conteneur avec un appsmith-stack bind mount et HTTP, HTTPS et liaisons de port superviseur.

Cette pile Docker Compose officielle est livrée avec l’intégration Watchtower. Watchtower remplacera automatiquement votre conteneur Appsmith chaque fois que l’image sera mise à jour, garantissant ainsi que vous utilisez la dernière version disponible.

Téléchargez le fichier Docker Compose sur votre hôte Docker :

$ curl -L https://bit.ly/32jBNin -o $PWD/docker-compose.yml

Utilisez maintenant Docker Compose pour afficher la pile Appsmith :

$ docker-compose up -d

Attendre Appsmith is Running! pour apparaître dans les journaux avant votre visite localhost dans votre navigateur.

Écrire votre propre fichier de composition

Le fichier Compose d’Appsmith ne fournit pas de variables d’environnement pour personnaliser les liaisons de port ou la version de l’image. Cette pile alternative vous permet d’utiliser différents ports et d’épingler une version spécifique de l’image Appsmith.

version: "3"

services:
  appsmith:
    image: appsmith/appsmith-ce:${IMAGE_TAG:-latest}
    ports:
      - ${HTTP_PORT:-80}:80
      - ${HTTPS_PORT:-443}:443
    volumes:
      - stacks:/appsmith_stacks
    restart: unless-stopped

volumes:
  stacks:

Maintenant tu peux courir docker-compose up -d pour démarrer une version spécifique d’Appsmith sur un port particulier.

$ IMAGE_TAG=v1.6.19 HTTP_PORT=8080 docker-compose up -d

Ce fichier Compose utilise également un volume Docker nommé au lieu du montage de liaison directe à l’hôte.

Mise à jour de votre installation

Vous pouvez mettre à jour les nouvelles versions d’Appsmith en extrayant la dernière image et en redémarrant votre pile :

$ docker-compose pull && docker-compose up -d --force-recreate appsmith

Ceci est sûr car toutes vos données persistantes sont stockées à l’intérieur du stacks le volume.

Vous n’avez pas besoin de mettre à jour manuellement lorsque vous utilisez l’intégration Watchtower incluse avec le fichier Compose officiel. Vous pouvez ajouter Watchtower à votre propre pile en l’incluant en tant que service supplémentaire :

version: "3"

services:
  appsmith:
    image: appsmith/appsmith-ce:${IMAGE_TAG:-latest}
    ports:
      - ${HTTP_PORT:-80}:80
      - ${HTTPS_PORT:-443}:443
    volumes:
      - stacks:/appsmith_stacks
    labels:
      com.centurylinklabs.watchtower.enable: "true"
    restart: unless-stopped
  watchtower:
    image: containrrr/watchtower:latest
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    command: --interval 3600 --label-enable --cleanup
    restart: unless-stopped

volumes:
  stacks:

Cela exécute Appsmith avec un conteneur Watchtower qui vérifie les mises à jour d’image toutes les heures (3600 secondes). Seuls les conteneurs avec le com.centurylinklabs.watchtower.enable l’étiquette sont cochées afin d’être ajoutées au appsmith service. Watchtower a besoin d’accéder au socket Docker de votre hôte pour pouvoir extraire de nouvelles images et remplacer les conteneurs en cours d’exécution.

Configuration de votre instance

Le fichier de configuration d’Appsmith est disponible sur /appsmith-stacks/configuration/docker.env à l’intérieur du conteneur. Si vous avez lié un répertoire local monté à ce chemin, vous pouvez modifier le fichier sur votre hôte au lieu de vous connecter directement au conteneur.

# If you're bind mounting "stacks" to /appsmith-stacks
$ nano stacks/configuration/docker.env

# If you're using a Docker volume
$ docker cp appsmith:/appsmith-stacks/configuration/docker.env docker.env
$ nano docker.env
$ docker cp docker.env appsmith:/appsmith-stacks/configuration/docker.env

Le fichier de configuration configure les variables d’environnement qui seront mises à la disposition de votre installation Appsmith. Les paramètres possibles incluent les informations d’identification pour différentes sources de données, les clés API pour les intégrations tierces et les détails de connexion pour votre serveur de messagerie et la base de données MongoDB. Les valeurs requises sont automatiquement renseignées lors de la première routine d’exécution d’Appsmith.

Pour modifier un paramètre, mettez d’abord à jour sa valeur dans le fichier de configuration :

APPSMITH_MAIL_ENABLED=true
APPSMITH_MAIL_HOST=mail.example.com
APPSMITH_MAIL_PORT=465
APPSMITH_MAIL_USERNAME=appsmith
APPSMITH_MAIL_PASSWORD=$3cureP@ss
APPSMITH_MAIL_FROM=appsmith@example.com

Redémarrez ensuite votre conteneur Appsmith pour appliquer les modifications :

$ docker-compose restart appsmith

Appsmith utilisera automatiquement la nouvelle configuration au prochain démarrage.

Exporter vos données

Une fois que vous commencerez à utiliser Appsmith, vous assemblerez rapidement des applications qui pourraient être difficiles à reproduire à l’avenir. Vous devez fréquemment sauvegarder votre installation pour vous prémunir contre la perte de données.

L’image Docker inclut une commande qui peut produire une archive complète à la demande :

$ docker-compose exec appsmith appsmithctl export_db

La sauvegarde sera stockée dans /appsmith-stacks/data/backup/appsmith-data.archive à l’intérieur du conteneur. Utilisation docker cp pour déplacer l’archive vers votre hôte Docker :

$ docker cp appsmith:/appsmith-stacks/data/backup/appsmith-data.archive appsmith-backup-$(date +%Y-%m-%d).archive

Copiez ensuite le /appsmith-stacks/configuration répertoire hors du conteneur. Inclure ces fichiers dans votre sauvegarde finale vous évitera d’avoir à reconstruire votre fichier de configuration après une restauration de sauvegarde. Vous pouvez désormais télécharger votre sauvegarde sur un stockage cloud ou sur un serveur dédié pour protéger vos données si votre hôte Docker subit une panne.

Pour restaurer ultérieurement une archive de sauvegarde, copiez-la dans /appsmith-stacks/data/restore dans un nouveau conteneur Appsmith et exécutez le import_db commande:

$ docker cp appsmith-backup-2022-04-13.archive appsmith:/appsmith-stacks/data/restore
$ docker-compose exec appsmith appsmithctl import_db

Redémarrez Appsmith pour terminer la restauration :

$ docker-compose restart appsmith

Utilisation d’Appsmith

Les applications Appsmith ont quatre composants fondamentaux :

  • pages – Les écrans de votre application.
  • Widget – Les composants de l’interface utilisateur sur ces écrans.
  • Requêtes/JavaScript – Extraits de code JavaScript personnalisés qui ajoutent des fonctionnalités avancées.
  • Source d’information – Connexions à vos bases de données externes.

image d'une application Appsmith vide

Démarrez une nouvelle application en cliquant sur le bouton « Ajouter une source de données » sur sa page de destination. Vous pouvez rapidement échafauder un exemple d’application à l’aide de l’une des bases de données d’exemple intégrées. Cliquez sur l’option « utilisateurs » pour ajouter une base de données PostgreSQL contenant des données utilisateur.

image de la création d'une source de données dans Appsmith

Cliquez ensuite sur le bouton « Nouvelle requête » pour ajouter une requête qui fait apparaître les informations du magasin de données.

image de la création d'une source de données dans Appsmith

image de la création d'une source de données dans Appsmith

Revenez à la page de votre application en cliquant sur « Page 1 » dans la barre latérale gauche. Appuyez sur « Ajouter un widget » et faites glisser l’un des widgets de la barre latérale sur le canevas. Nous utilisons une liste.

image d

Dans le volet des propriétés à droite, effacez les exemples de données et remplacez-les par {{Query1.data}}. Cela exécute la requête créée précédemment pour afficher les données de la base de données des utilisateurs. L’aperçu en direct sera mis à jour et affichera la liste des utilisateurs.

image de la configuration d'un widget Appsmith pour qu'il fonctionne avec une source de données

Vous pouvez continuer à ajouter des widgets pour développer les capacités de votre application. Une fois que vous avez terminé, cliquez sur le bouton « Déployer » en haut à droite pour publier votre application et la lancer dans le mode d’affichage d’Appsmith.

image d'une application Appsmith affichant la liste des utilisateurs par défaut en mode d'affichage

Sommaire

Appsmith est une plate-forme open source low code pour le développement rapide de nouvelles applications professionnelles. L’image Docker officielle vous permet de démarrer rapidement votre propre instance Appsmith avec une configuration minimale.

Une fois votre conteneur opérationnel, vous pouvez utiliser la suite de connecteurs incluse pour interroger, modifier et visualiser les magasins de données de votre organisation. Ensuite, vous pouvez partager votre application avec d’autres membres de l’équipe ou activer l’accès public afin que les sous-traitants, fournisseurs et clients externes puissent participer.

Une instance Dockerized Appsmith devrait nécessiter peu de maintenance à long terme au-delà des mises à jour et des sauvegardes régulières. L’utilisation de Docker pour le déploiement facilite également l’effacement d’Appsmith de votre système si vous décidez que ce n’est pas pour vous. Courir docker-compose down --volumes pour détruire complètement votre pile, y compris les données stockées à l’intérieur de votre appsmith-stacks le volume.

★★★★★