Appsmith self‑host: Как запустить свою платформу

Узнайте, как быстро развернуть Appsmith — open‑source платформу для админ‑панелей и дашбордов: установка через Docker Compose или Proxmox, подключение БД и API.

Не указано
Алексей Кузнецов
Алексей Кузнецов
Системный администратор17 января 2026 г.

Подготовка окружения и установка Docker

Обновите пакеты системы и установите Docker и Docker Compose официальным способом.

sudo apt update && sudo apt upgrade -y
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo apt install docker-compose-plugin -y
docker --version
docker compose version

Создание директории и файла docker-compose.yml

Создайте папку для проекта и файл конфигурации docker-compose.yml с описанием сервисов (PostgreSQL, Redis, Appsmith).

mkdir -p ~/appsmith && cd ~/appsmith
nano docker-compose.yml

Содержимое docker-compose.yml

Вставьте следующую конфигурацию в открытый файл docker-compose.yml. Она определяет базу данных, Redis и само приложение Appsmith.

version: '3.9'

services:
  db:
    image: postgres:15-alpine
    restart: unless-stopped
    environment:
      POSTGRES_DB: appsmith
      POSTGRES_USER: appsmith
      POSTGRES_PASSWORD: ${DB_PASSWORD}
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U appsmith"]
      interval: 5s
      timeout: 5s
      retries: 5

  appsmith:
    image: appsmith/appsmith-ce:latest
    restart: unless-stopped
    ports:
      - "8080:80"
    environment:
      - APPSMITH_DB_URL=postgresql://appsmith:${DB_PASSWORD}@db:5432/appsmith
      - APPSMITH_REDIS_URL=redis://redis:6379
      - APPSMITH_JWT_SECRET=${JWT_SECRET}
      - APPSMITH_ENCRYPTION_SALT=${ENCRYPTION_SALT}
      - APPSMITH_ENCRYPTION_KEY=${ENCRYPTION_KEY}
      - APPSMITH_DISABLE_TELEMETRY=true
    depends_on:
      db:
        condition: service_healthy
      redis:
        condition: service_started
    volumes:
      - appsmith_data:/appsmith-stacks

  redis:
    image: redis:7-alpine
    restart: unless-stopped
    volumes:
      - redis_data:/data

volumes:
  postgres_data:
  redis_data:
  appsmith_data:

Настройка переменных окружения

Создайте файл .env для хранения секретных переменных (пароли и ключи шифрования), чтобы не держать их в открытом виде в docker-compose.yml.

nano .env

Содержимое .env

Добавьте переменные в файл .env. Замените значения на надежные и уникальные строки.

DB_PASSWORD=StrongPassw0rd!
JWT_SECRET=super-secret-jwt-key-1234567890abcdef
ENCRYPTION_SALT=another-very-long-salt-abcdef1234567890
ENCRYPTION_KEY=encryption-key-at-least-32-chars-long!

Запуск Appsmith

Запустите сервисы в фоновом режиме. Docker Compose скачает образы и запустит контейнеры.

docker compose up -d

Проверка статуса и логов

Убедитесь, что контейнеры запущены и работают корректно. Первый запуск может занять 1-2 минуты.

docker compose ps
docker compose logs -f appsmith

Доступ к веб-интерфейсу

Откройте браузер и перейдите по адресу вашего сервера на порту 8080. Например: http://192.168.1.100:8080

Первоначальная настройка (First Run)

На открывшейся странице создайте аккаунт администратора (email и пароль). Затем создайте Workspace и первое приложение.

Подключение базы данных (Пример PostgreSQL)

В интерфейсе Appsmith перейдите в раздел Data Sources, выберите PostgreSQL и укажите параметры подключения. Если БД внутри Docker сети, укажите имя сервиса (db) вместо IP.

Host: db
Port: 5432
Database: appsmith
Username: appsmith
Password: StrongPassw0rd! (из .env)

Как запустить Appsmith

Appsmith — это open-source платформа для быстрого создания админ-панелей, внутренних инструментов (internal tools) и дашбордов. Она позволяет подключать различные источники данных (SQL/NoSQL базы, REST/GraphQL API) и строить на их основе интерфейсы с помощью drag‑and‑drop редактора, JavaScript и встроенных виджетов.
Хостинг собственной копии (self‑host) дает полный контроль над данными, инфраструктурой, а также доступ к расширенным возможностям (например, собственным скриптам или интеграциям).

В этом гайде подробно разберем два способа запуска Appsmith:

  1. Docker Compose (рекомендуемый для большинства случаев, в том числе для домашней лаборатории).
  2. Установка в LXC‑контейнере Proxmox VE (удобный вариант для виртуализированной среды с изоляцией).

1. Предварительные требования

Перед началом установки убедитесь, что у вас есть:

  • Сервер/ВМ/контейнер с ОС Linux (Ubuntu 20.04/22.04, Debian 11/12). Минимальные ресурсы: 2 CPU, 4 ГБ RAM, 10 ГБ диска (рекомендуется 4+ ГБ RAM для более комфортной работы).
  • Docker Engine и Docker Compose (для первого способа).
  • Доступ к терминалу с правами sudo (или root).
  • Статический IP‑адрес (или DNS‑имя) для доступа к панели.
  • Файервол: открытые порты 80 (HTTP) и 443 (HTTPS) для веб‑интерфейса. Если используете порт 8080 (по умолчанию в примере ниже), настройте проброс/правило.

Важно:

  • Для продакшена обязательно настраивайте HTTPS (например, через обратный прокси‑сервер Nginx + Let’s Encrypt).
  • В локальной среде достаточно HTTP с доступом по IP или локальному домену.

2. Способ 1: Установка через Docker Compose (рекомендуемый)

Этот способ позволяет запустить Appsmith и необходимые сервисы (базу данных, обратный прокси) в одном docker-compose.yml. Он подходит для Linux‑серверов, включая домашний хост (homelab).

2.1. Подготовка окружения

Обновите пакеты и установите Docker (если еще не установлен):

sudo apt update && sudo apt upgrade -y

# Установка Docker (официальный способ)
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# Установка Docker Compose (через плагин)
sudo apt install docker-compose-plugin -y

Проверьте установку:

docker --version
docker compose version

2.2. Создание директории и файла docker-compose.yml

Создайте папку для проекта и перейдите в нее:

mkdir -p ~/appsmith && cd ~/appsmith

Создайте файл docker-compose.yml. Ниже приведен пример конфигурации с PostgreSQL (рекомендуется для production) и простым NGINX для статических файлов. Для базы данных можно использовать также MySQL или MongoDB — см. раздел интеграции.

version: '3.9'

services:
  db:
    image: postgres:15-alpine
    restart: unless-stopped
    environment:
      POSTGRES_DB: appsmith
      POSTGRES_USER: appsmith
      POSTGRES_PASSWORD: ${DB_PASSWORD}
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U appsmith"]
      interval: 5s
      timeout: 5s
      retries: 5

  appsmith:
    image: appsmith/appsmith-ce:latest
    restart: unless-stopped
    ports:
      - "8080:80"
    environment:
      - APPSMITH_DB_URL=postgresql://appsmith:${DB_PASSWORD}@db:5432/appsmith
      - APPSMITH_REDIS_URL=redis://redis:6379
      - APPSMITH_JWT_SECRET=${JWT_SECRET}
      - APPSMITH_ENCRYPTION_SALT=${ENCRYPTION_SALT}
      - APPSMITH_ENCRYPTION_KEY=${ENCRYPTION_KEY}
      # Для локальной разработки можно включить режим отладки
      - APPSMITH_DISABLE_TELEMETRY=true
    depends_on:
      db:
        condition: service_healthy
      redis:
        condition: service_started
    volumes:
      - appsmith_data:/appsmith-stacks

  redis:
    image: redis:7-alpine
    restart: unless-stopped
    volumes:
      - redis_data:/data

volumes:
  postgres_data:
  redis_data:
  appsmith_data:

Пояснения:

  • appsmith-ce — community edition (бесплатная). Для enterprise‑версии используйте образ appsmith/appsmith-ee.
  • DB_PASSWORD, JWT_SECRET, ENCRYPTION_SALT, ENCRYPTION_KEY — переменные, которые нужно определить перед запуском (лучше через .env‑файл).
  • Redis используется Appsmith для кэширования и фоновых задач.
  • Порт 8080 — публичный порт для доступа к панели. Измените при необходимости.

2.3. Настройка переменных окружения

Создайте файл .env в той же директории:

nano .env

Добавьте содержимое (замените на свои значения):

DB_PASSWORD=StrongPassw0rd!
JWT_SECRET=super-secret-jwt-key-1234567890abcdef
ENCRYPTION_SALT=another-very-long-salt-abcdef1234567890
ENCRYPTION_KEY=encryption-key-at-least-32-chars-long!

Сохраните файл (Ctrl+O, Enter, Ctrl+X).

2.4. Запуск и проверка

Запустите сервисы:

docker compose up -d

Проверьте статус:

docker compose ps

Логи можно просматривать:

docker compose logs -f appsmith

Ожидайте, пока контейнеры запустятся (обычно 1‑2 минуты). Откройте в браузере http://<ваш‑IP‑адрес>:8080 (например, http://192.168.1.100:8080). Должна открыться страница приветствия Appsmith с приглашением создать первый аккаунт администратора.


3. Способ 2: Установка на Proxmox VE (LXC‑контейнер)

Proxmox VE — популярная платформа для виртуализации. LXC‑контейнеры легче, чем ВМ, и отлично подходят для приложений вроде Appsmith.

3.1. Создание LXC‑контейнера

  1. В веб‑интерфейсе Proxmox VE создайте новый контейнер:

    • Шаблон: Ubuntu 22.04 или Debian 12.
    • Ресурсы: минимум 2‑4 ГБ RAM, 10‑20 ГБ диска, 2 vCPU.
    • Сеть: статический IP (например, 192.168.1.101/24).
    • Включите "капсулирование" (unprivileged) для безопасности (по умолчанию включено).
    • Разрешить "TUN/TAP" (если планируете VPN‑интеграцию, иначе можно не включать).
  2. После создания подключитесь к контейнеру через консоль Proxmox или SSH (если настроен внешний доступ).

3.2. Подготовка окружения внутри контейнера

Обновите систему и установите Docker:

sudo apt update && sudo apt upgrade -y
sudo apt install curl -y

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER && newgrp docker

# Установка Docker Compose
sudo apt install docker-compose-plugin -y

Проверьте установку:

docker --version
docker compose version

3.3. Развертывание Appsmith

Перейдите в домашнюю директорию и создайте docker-compose.yml (как в разделе 2.2). Вы можете скопировать тот же файл и .env, либо использовать встроенный скрипт Appsmith:

# Альтернативный способ (самый простой)
mkdir -p ~/appsmith && cd ~/appsmith
curl -O https://raw.githubusercontent.com/appsmithorg/appsmith/main/docker-compose.yml
curl -O https://raw.githubusercontent.com/appsmithorg/appsmith/main/.env.example
mv .env.example .env

В файле .env заполните переменные (как описано выше).

3.4. Запуск и доступ

Запустите:

docker compose up -d

Проверьте, что порты открыты (в Proxmox, если контейнер внутри внутренней сети, ничего дополнительно делать не нужно). Откройте браузер и перейдите по адресу http://<IP‑контейнера>:8080.

Доступ извне сети Proxmox:

  • Если контейнер имеет внешний IP, или вы пробрасываете порты через роутер/фирервол — используйте этот адрес.
  • Иначе — настраивайте порт‑форвардинг на роутере или используйте VPN для доступа к внутренней сети.

4. Первоначальная настройка и создание первого приложения

После первого входа в Appsmith:

  1. Создайте аккаунт администратора (email/пароль). Этот аккаунт получает роль administrator и полный контроль.
  2. Создайте работу (Workspace). В Appsmith работа — это набор приложений. Нажмите New Workspace → задайте название.
  3. Создайте приложение (Application). Можно начать с шаблона (например, «Dashboard») или с чистого листа.
  4. Изучите интерфейс:
    • Редактор виджетов (левая панель): drag‑and‑drop компоненты (таблицы, формы, кнопки).
    • Редактор запросов (вкладка «Queries»): подключение к БД или API.
    • Редактор логики (вкладка «JS»): JavaScript для обработки данных и интерактивности.
  5. Первый пример: создайте виджет «Text» и привяжите его к простому запросу (например, SELECT из подключенной БД).

Для быстрого старта Appsmith предоставляет шаблоны (Templates) и примеры запросов — изучите их.


5. Интеграция с базами данных

Appsmith поддерживает 25+ источников данных. Ниже — примеры с PostgreSQL, MySQL и MongoDB.

5.1. PostgreSQL (как в docker-compose)

Во вкладке Data Sources (источники данных) → New → выберите PostgreSQL:

  • Host: db (если запущено в Docker Compose) или IP‑адрес внешней БД.
  • Port: 5432.
  • Database: appsmith (или другое имя).
  • Username/Password: как в .env (из docker-compose.yml).
  • SSL: по необходимости.

После сохранения создайте запрос (например, SELECT * FROM users;) и используйте его в виджетах.

5.2. MySQL

Подключение аналогично, параметры:

  • Host: mysql-host
  • Port: 3306
  • Username/Password: ваши данные.
  • Database: выбранная БД.

Важно: Для локальной интеграции внутри Docker‑сети убедитесь, что MySQL‑контейнер доступен по имени хоста (например, mysql) из контейнера Appsmith.

5.3. MongoDB

Appsmith поддерживает MongoDB как источник данных. Параметры:

  • Host: mongodb-host
  • Port: 27017
  • Username/Password/Database: как настроено.

Примечание: Если используете MongoDB Atlas (облако), укажите строку подключения целиком (Connection String) и убедитесь, что IP‑адрес Appsmith разрешен в настройках Atlas (включая инстансы в облаке).


6. Создание внутренних инсторов и форм на базе API

Appsmith позволяет не только подключать базы данных, но и работать с любым REST/GraphQL API.

6.1. Добавление API‑источника

  1. В Data Sources → New → выберите REST API.
  2. Укажите Base URL (например, https://api.example.com).
  3. Настройте Authentication (Bearer Token, OAuth и т.д.) и заголовки по необходимости.
  4. Сохраните.

6.2. Создание API‑запроса

  1. Создайте запрос (например, GET /users).
  2. В запросе можно использовать параметры, переменные из виджетов (например, {{ dropdown1.selectedOptionValue }}).
  3. Результат выполнения запроса (JSON) можно привязать к виджетам (таблица, карточки, графики).

6.3. Пример: форма создания записи через API

  • Добавьте виджеты: Input для имени, Input для email, Button.
  • Создайте API‑запрос POST /users (метод POST, тело: {"name": "{{ nameInput.text }}", "email": "{{ emailInput.text }}"}).
  • В кнопке добавьте событие onClick → вызовите API‑запрос и обработайте ответ (уведомление, очистка полей).

Совет: Используйте вкладку JS в виджете для дополнительной логики (например, валидация полей перед отправкой).


7. Безопасность и управление доступом (RBAC)

Appsmith реализует RBAC (Role‑Based Access Control) на уровне Workspace и приложений.

7.1. Роли и права

  • Administrator (по умолчанию): управление всеми workspace, настройка Appsmith, управление пользователями.
  • Developer (разработчик): может создавать/редактировать приложения в своем workspace, но не имеет доступа к настройкам инфраструктуры.
  • Viewer (зритель): только просмотр приложений без редактирования.

7.2. Настройка доступа

  1. В настройках Workspace (раздел пользователи) добавьте пользователя (по email) и назначьте роль.
  2. При создании приложения вы можете настроить дополнительные ограничения (например, скрыть панель разработчика для Viewers).

7.3. Рекомендации по безопасности

  • Используйте HTTPS (обратный прокси + Let’s Encrypt).
  • Ограничьте доступ к API‑источникам с помощью скриптов в приложениях (Appsmith передает запросы от имени пользователя, поэтому на стороне API настраивайте собственные токены/ACL).
  • Включите оповещения о попытках входа (через настройки Appsmith или интеграцию с почтой).
  • Регулярно обновляйте образы Docker (docker compose pull && docker compose up -d).

8. Резервное копирование и обновление Appsmith

8.1. Резервное копирование

Appsmith хранит данные в следующих томах (volumes):

  • postgres_data (база данных, включая все приложения и настройки)
  • appsmith_data (пользовательские файлы, логи, кэши)
  • redis_data (данные Redis, восстанавливаются при перезапуске)

Создание бэкапа (рекомендуемый подход):

  1. Остановите сервисы: docker compose down.
  2. Скопируйте данные томов (или сделайте tar архив):
    # Пример для тома postgres_data
    docker run --rm -v ~/appsmith_postgres_data:/data -v $(pwd):/backup busybox tar czf /backup/postgres_backup.tar.gz /data
    # Аналогично для appsmith_data
    
  3. Храните бэкапы в надежном месте (внешний диск, NAS, облачное хранилище).

8.2. Обновление Appsmith

  1. Обновите образы:
    docker compose pull
    
  2. Перезапустите сервисы (без потери данных):
    docker compose up -d
    
  3. Проверьте логи после обновления:
    docker compose logs -f appsmith
    
  4. При необходимости обновите структуру БД (Appsmith автоматически применяет миграции при запуске, но убедитесь, что версия docker-compose.yml соответствует документации).

Важно: Перед обновлением на значительную версию (например, 1.9.x → 2.0.x) ознакомьтесь с релиз‑нотами Appsmith (на GitHub или сайте).


9. Итог и рекомендации по использованию

  • Appsmith — мощная платформа для создания внутренних инструментов без необходимости писать весь фронтенд с нуля.
  • Docker Compose — самый простой способ развернуть систему в любой Linux‑среде (включая homelab).
  • LXC в Proxmox — отличный вариант для изоляции и управления ресурсами.
  • Начинайте с шаблонов и простых примеров, чтобы быстро освоить возможности.
  • Не забывайте про безопасность: HTTPS, управление ролями, регулярные обновления.
  • Резервное копируйте базу данных — это ваше «золото».

С Appsmith вы можете автоматизировать рутинные задачи, создать кастомные дашборды для бизнес‑метрик, подключить сложные API и предоставить удобный интерфейс команде. Удачи в развертывании!

Поделиться:TelegramX / TwitterVK