Руководство по 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).