Руководство по self-hosting ToolJet: Развертывание собственного AI-нативного конструктора приложений

Пошаговое руководство по развертыванию ToolJet — открытой платформы для создания внутренних инструментов, дашбордов и AI-агентов. Узнайте, как запустить ToolJet самостоятельно с помощью Docker, настроить интеграции и обеспечить безопасность.

Не указано

Подготовка системы и установка зависимостей

Обновите системные пакеты и установите необходимые инструменты для работы Docker и загрузки файлов.

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

Установка Docker и Docker Compose

Установите Docker через официальный скрипт и загрузите бинарник Docker Compose. Добавьте текущего пользователя в группу docker, чтобы избежать использования sudo.

# Установка Docker
 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 curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
 sudo chmod +x /usr/local/bin/docker-compose

Создание пользователя и директории ToolJet

Создайте отдельного системного пользователя 'tooljet' для запуска сервисов и подготовьте директорию для хранения данных.

sudo useradd -m -s /bin/bash tooljet
sudo usermod -aG docker tooljet
sudo mkdir /opt/tooljet
sudo chown tooljet:tooljet /opt/tooljet

Настройка конфигурации (docker-compose и .env)

Перейдите в директорию ToolJet, скачайте стандартный docker-compose.yml и создайте файл переменных окружения .env с секретными ключами и настройками БД.

cd /opt/tooljet
sudo -u tooljet wget https://raw.githubusercontent.com/ToolJet/ToolJet/main/deploy/docker-compose/docker-compose.yml
sudo -u tooljet nano .env

Содержимое файла .env

Заполните файл .env. Обязательно замените значения SECRET_KEY_BASE и POSTGRES_PASSWORD на сгенерированные криптостойкие строки.

TOOLJET_HOST=localhost
TOOLJET_PORT=3000

# Database
POSTGRES_USER=tooljet
POSTGRES_PASSWORD=СЛОЖНЫЙ_ПАРОЛЬ_123!@#$
POSTGRES_DB=tooljet
POSTGRES_HOST=postgres
POSTGRES_PORT=5432

# Secrets
SECRET_KEY_BASE=СГЕНЕРИРОВАННЫЙ_СЕКРЕТ_32_СИМВОЛОВ

# Redis (рекомендуется)
REDIS_URL=redis://redis:6379

Запуск контейнеров

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

sudo -u tooljet docker-compose up -d

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

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

sudo -u tooljet docker-compose logs -f tooljet
# Нажмите Ctrl+C для выхода
sudo -u tooljet docker-compose ps

Первоначальная настройка через веб-интерфейс

Откройте браузер и перейдите по адресу http://IP_ВАШЕГО_СЕРВЕРА:3000. Создайте аккаунт администратора, укажите email, пароль и название организации.

Настройка Nginx и HTTPS (Production)

Установите Nginx и Certbot для проброса трафика с порта 80/443 на ToolJet (порт 3000) и получения бесплатного SSL-сертификата.

sudo apt install nginx certbot python3-certbot-nginx -y
sudo nano /etc/nginx/sites-available/tooljet

Конфигурация Nginx

Вставьте конфиг для проксирования запросов. Замените your-domain.com на ваш домен.

server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Активация Nginx и получение SSL

Активируйте сайт, проверьте конфигурацию и запустите Certbot для установки SSL.

sudo ln -s /etc/nginx/sites-available/tooljet /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
sudo certbot --nginx -d your-domain.com

Финальная настройка ToolJet

Вернитесь в интерфейс ToolJet (через HTTPS). Обновите хост в настройках (если требуется) и подключите первый источник данных (например, PostgreSQL).