Поиск по сайту:

Как развернуть платформу Appsmith Low Code с помощью Docker


Appsmith — это платформа с низким кодом для сборки сложного программного обеспечения для бизнеса из предварительно созданных компонентов пользовательского интерфейса. Он подключается к вашим существующим источникам данных, таким как базы данных SQL, электронные таблицы, REST API и конечные точки GraphQL. Вы можете связать эти хранилища информации с многофункциональными виджетами, включая таблицы, списки и диаграммы.

Версия Appsmith Community Edition имеет открытый исходный код и может полностью размещаться самостоятельно. В этом руководстве мы покажем, как развернуть собственный экземпляр Appsmith в качестве контейнера Docker. Это рекомендуемый метод, который упрощает первоначальную установку и текущее обслуживание. Мы предполагаем, что в вашей системе уже установлены Docker и Docker Compose.

Первое развертывание

Вы можете запустить базовый сервер Appsmith для экспериментов, используя только docker run:

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

Это запускает новый контейнер с использованием образа appsmith/appsmith-ce и связывает каталог appsmith-stacks в вашем рабочем каталоге с /appsmith-stacks. внутри контейнера. Вы всегда должны подключать том к этому местоположению, чтобы избежать потери данных после обновления или перезапуска контейнера Appsmith.

Первая инициализация Appsmith может занять некоторое время. Контейнер сгенерирует файлы конфигурации, создаст вашу базу данных MongoDB и активирует начальный набор подключаемых модулей приложения. Вы можете проверить, готов ли ваш экземпляр к подключению, следуя журналам контейнера:

$ docker logs appsmith --follow

Дождитесь появления сообщения Appsmith is Running! в выходных данных журнала.

Настройка Appsmith

Теперь зайдите на localhost:8080 в своем браузере. Этот порт был привязан к порту 80 контейнера в команде docker run выше. Подставьте свое значение, если вы изменили номер порта в команде.

Вы должны увидеть целевую страницу веб-интерфейса Appsmith. Нажмите «Начать» и заполните форму, чтобы настроить экземпляр Appsmith. Затем вы попадете прямо в новое приложение, готовое к подключению к вашим источникам данных.

Использование супервизора

Образ Appsmith Docker использует supervisord для запуска нескольких процессов внутри одного контейнера. Веб-интерфейс Supervisor доступен через порт 9001; в приведенной выше команде docker run хост-порт 9001 был привязан к контейнеру, поэтому вы можете просмотреть список процессов вашего контейнера, посетив localhost:9001 в своем браузере.

Посещение Supervisor может помочь вам отладить проблемы, когда один из компонентов Appsmith перестает работать. Вы можете перезапустить процессы, просмотреть их журналы и закрыть их, не убивая контейнер Docker. Однако держать Supervisor открытым таким образом — это риск для безопасности: не привязывайте порт 9001 к рабочему контейнеру Appsmith, если вы сначала не настроили аутентификацию.

Использование Docker Compose

Рекомендуется использовать Docker Compose для долгосрочных развертываний Appsmith. Appsmith поддерживает свой собственный docker-compose.yml, который автоматически настраивает контейнер с монтированием привязки appsmith-stack и привязками портов HTTP, HTTPS и Supervisor.

Этот официальный стек Docker Compose поставляется с интеграцией Watchtower. Watchtower будет автоматически заменять ваш контейнер Appsmith каждый раз при обновлении образа, гарантируя, что вы используете новейшую доступную версию.

Загрузите файл Docker Compose на хост Docker:

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

Теперь используйте Docker Compose, чтобы вызвать стек Appsmith:

$ docker-compose up -d

Подождите, пока в журналах появится сообщение Appsmith is Running!, прежде чем открывать localhost в своем браузере.

Написание собственного файла Compose

Файл Compose от Appsmith не содержит переменных среды для настройки привязки портов или версии образа. Этот альтернативный стек позволяет использовать разные порты и привязывать к определенной версии образа 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:

Теперь вы можете запустить docker-compose up -d, чтобы запустить определенную версию Appsmith на определенном порту.

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

Этот файл Compose также использует именованный том Docker вместо прямого монтирования с привязкой к хосту.

Обновление вашей установки

Вы можете обновиться до новых выпусков Appsmith, скачав последний образ и перезапустив стек:

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

Это безопасно, так как все ваши постоянные данные хранятся внутри тома stacks.

Вам не нужно обновлять вручную, если вы используете интеграцию Сторожевой Башни, включенную в официальный файл Compose. Вы можете добавить Watchtower в свой стек, включив его в качестве дополнительной услуги:

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:

Это запускает Appsmith с контейнером Watchtower, который проверяет наличие обновлений изображения каждый час (3600 секунд). Проверяются только контейнеры с меткой com.centrelinklabs.watchtower.enable, поэтому они добавляются в службу appsmith. Сторожевой башне нужен доступ к сокету Docker вашего хоста, чтобы он мог получать новые образы и заменять запущенные контейнеры.

Настройка вашего экземпляра

Файл конфигурации Appsmith доступен по адресу /appsmith-stacks/configuration/docker.env внутри контейнера. Если вы привязали смонтированный локальный каталог к этому пути, вы можете редактировать файл на своем хосте вместо прямого подключения к контейнеру.

# 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

Файл конфигурации устанавливает переменные среды, которые будут доступны для вашей установки Appsmith. Возможные настройки включают учетные данные для различных источников данных, ключи API для сторонних интеграций и сведения о подключении к вашему почтовому серверу и базе данных MongoDB. Требуемые значения автоматически заполняются во время процедуры первого запуска Appsmith.

Чтобы изменить параметр, сначала обновите его значение в файле конфигурации:

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

Затем перезапустите контейнер Appsmith, чтобы применить изменения:

$ docker-compose restart appsmith

Appsmith автоматически использует новую конфигурацию при следующем запуске.

Экспорт ваших данных

Как только вы начнете использовать Appsmith, вы быстро соберете приложения, которые будет сложно воспроизвести в будущем. Вы должны часто делать резервную копию своей установки, чтобы защититься от потери данных.

Образ Docker включает в себя команду, которая может создать полный архив по запросу:

$ docker-compose exec appsmith appsmithctl export_db

Резервная копия будет сохранена в /appsmith-stacks/data/backup/appsmith-data.archive внутри контейнера. Используйте docker cp, чтобы переместить архив на хост Docker:

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

Затем скопируйте каталог /appsmith-stacks/configuration из контейнера. Включение этих файлов в окончательную резервную копию избавит вас от необходимости реконструировать файл конфигурации после восстановления из резервной копии. Теперь вы можете загрузить свою резервную копию в облачное хранилище или на выделенный сервер, чтобы защитить свои данные, если ваш хост Docker выйдет из строя.

Чтобы восстановить резервный архив в будущем, скопируйте его в /appsmith-stacks/data/restore в новом контейнере Appsmith и выполните команду import_db:

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

Перезапустите Appsmith, чтобы завершить восстановление:

$ docker-compose restart appsmith

Использование Appsmith

Приложения Appsmith состоят из четырех основных компонентов:

  • Страницы – экраны в вашем приложении.
  • Виджеты — компоненты пользовательского интерфейса на этих экранах.
  • Запросы/JavaScript – пользовательские фрагменты кода JavaScript, добавляющие дополнительные функции.
  • Источники данных – подключения к вашим внешним базам данных.

Запустите новое приложение, нажав кнопку «Добавить источник данных» на его целевой странице. Вы можете быстро создать шаблон примера приложения, используя одну из встроенных демонстрационных баз данных. Щелкните параметр «пользователи», чтобы добавить базу данных PostgreSQL, заполненную некоторыми пользовательскими данными.

Затем нажмите кнопку «Новый запрос», чтобы добавить запрос, отображающий информацию из хранилища данных.

Вернитесь на страницу своего приложения, нажав «Страница 1» на левой боковой панели. Нажмите «Добавить виджет» и перетащите один из виджетов с боковой панели на холст. Мы используем список.

На панели свойств справа удалите образцы данных и замените их на {{Query1.data}}. Это выполняет запрос, созданный ранее, для отображения данных из базы данных пользователей. Предварительный просмотр в реальном времени обновится и покажет список пользователей.

Вы можете продолжать добавлять виджеты, чтобы расширять возможности вашего приложения. Когда вы закончите, нажмите кнопку «Развернуть» в правом верхнем углу, чтобы опубликовать свое приложение и запустить его в режиме просмотра Appsmith.

Краткое содержание

Appsmith — это платформа с низким кодом с открытым исходным кодом для быстрой разработки новых бизнес-приложений. Официальный образ Docker позволяет быстро запустить собственный экземпляр Appsmith с минимальной конфигурацией.

После того, как ваш контейнер заработает, вы сможете использовать прилагаемый набор коннекторов для запроса, редактирования и визуализации хранилищ данных вашей организации. Затем вы можете поделиться своим приложением с другими членами команды или включить общий доступ, чтобы внешние подрядчики, поставщики и клиенты могли присоединиться.

Экземпляр Dockerized Appsmith не требует длительного обслуживания, помимо регулярных обновлений и резервного копирования. Использование Docker для развертывания также упрощает удаление Appsmith из вашей системы, если вы решите, что это не для вас. Запустите docker-compose down --volumes, чтобы полностью удалить ваш стек, включая данные, хранящиеся внутри вашего тома appsmith-stacks.




Все права защищены. © Linux-Console.net • 2019-2024