Appsmith self-host: Полное руководство по запуску собственной платформы для инструментов

Подробный гайд по установке и настройке Appsmith — open-source платформы для создания админ-панелей и дашбордов. Способы через Docker Compose и Proxmox. Интеграция с БД и API.

Не указано

Подготовка окружения и установка 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)