Электронные таблицы Google Sheets и облачные базы данных вроде Airtable давно стали стандартом для ведения учета заказов, каталогов товаров и координации команд. Однако с ростом объема данных таблицы начинают зависать, а зарубежные SaaS-сервисы несут серьезные риски: блокировку аккаунтов из РФ, драконовскую тарификацию (от $20 в месяц за каждого сотрудника) и нарушение требований 152-ФЗ о локализации персональных данных. Открытая no-code платформа Baserow решает эту проблему: она объединяет простоту визуальных таблиц с надежностью реляционной СУБД PostgreSQL и разворачивается на собственном VDS за считанные минуты.
1. Архитектура Baserow: как устроен открытый аналог Airtable
В отличие от обычных офисных таблиц, где ячейки хранят разрозненный текст без строгой типизации, Baserow представляет собой полноценную надстройку над промышленной реляционной СУБД PostgreSQL 15. Каждая созданная пользователем таблица на физическом уровне транслируется в отдельную таблицу базы данных со строгими типами колонок, индексами и внешними ключами.
Платформа построена по модульной сервисной архитектуре и в актуальной версии Baserow v2.4.1 включает следующие ключевые компоненты:
- Backend (Django & Django REST Framework): серверное ядро на Python, отвечающее за бизнес-логику, вычисление сложных формул (Formula Engine), миграции схемы данных, обработку вебхуков и автоматическую генерацию персональной документации REST API (OpenAPI / Swagger) для каждой созданной таблицы.
- Web Frontend (Nuxt.js / Vue.js): реактивный одностраничный интерфейс (SPA) с быстрой фильтрацией, сортировкой, группировкой строк и переключением представлений: табличная сетка (Grid), карточки Kanban, галерея изображений (Gallery) и публичные формы сбора данных.
- Шлюз реального времени (WebSockets): обеспечивает совместное редактирование данных без конфликтов. Если один сотрудник меняет статус заказа или вносит комментарий, все подключенные коллеги видят изменения в своих браузерах за доли секунды без перезагрузки страницы.
- Асинхронные очереди (Celery & Redis): фоновые воркеры берут на себя ресурсоемкие операции: массовый импорт CSV/Excel на десятки тысяч строк, пересчет цепочек формул, экспорт отчетов и отправку вебхуков во внешние CRM.
- Реляционная база (PostgreSQL 15): гарантирует транзакционную целостность (ACID) и надежное хранение десятков и сотен тысяч записей, чего невозможно добиться в файловых электронных таблицах.
💡 Преимущество перед облачными SaaS-решениями
Размещая Baserow на собственном сервере в РФ, компания получает полный контроль над коммерческой тайной и клиентской базой. Нет никаких ограничений на количество пользователей, строк и рабочих пространств (Workspaces). Все файлы и вложения сохраняются на локальных NVMe-дисках сервера или в вашем корпоративном S3-хранилище.
2. Системные требования и выбор конфигурации VDS
Поскольку Baserow объединяет веб-интерфейс, сервер очередей Celery, кэш Redis и СУБД PostgreSQL, серверу требуется определенный запас оперативной памяти для комфортной многопользовательской работы.
| Параметр сервера | Минимальная конфигурация | Рекомендуемая (Production) | Назначение ресурса |
|---|---|---|---|
| Процессор (vCPU) | 1 ядро (2.5+ ГГц) | 2–4 ядра (3.0+ ГГц) | Обработка фоновых очередей Celery, фильтрация таблиц и параллельные WebSocket-сессии. |
| Оперативная память (RAM) | 2 ГБ (+2 ГБ Swap) | 4 ГБ RAM | Буферный кэш PostgreSQL 15, воркеры Gunicorn/Celery и кэш Redis. |
| Дисковая подсистема | 20 ГБ SSD | 40+ ГБ NVMe | Быстрый ввод-вывод СУБД, хранение документов, фото товаров и регулярных дампов. |
| Операционная система | Ubuntu 22.04 LTS | Ubuntu 24.04 LTS / Debian 12 | Стабильное окружение с поддержкой cgroups v2 и актуального Docker Engine 27+. |
3. Подготовка окружения, сетевая безопасность и генерация секретов
Все данные платформы Baserow — таблицы, пользователи, права доступа, медиафайлы и индексы PostgreSQL — сохраняются в постоянном каталоге /baserow/data. Перед первым запуском контейнера создадим выделенную директорию на сервере и сгенерируем криптостойкие ключи.
Создайте рабочую папку проекта /opt/baserow и каталог для персистентного тома:
sudo mkdir -p /opt/baserow/baserow_data
cd /opt/baserow
🔒 Сетевая изоляция: порт 8080 не должен быть доступен из внешней сети
Baserow принимает трафик через внутренний HTTP-сервер на порту 80. Если опубликовать порт наружу как 0.0.0.0:8080:80, Docker автоматически модифицирует цепочки iptables на уровне ядра Linux и откроет порт всему интернету в обход фаервола UFW. В результате незашифрованный интерфейс базы данных окажется доступен злоумышленникам без HTTPS. В манифесте порт обязательно привязывается к локальной петле 127.0.0.1:8080:80, а внешний трафик с шифрованием обрабатывает Nginx.
Для шифрования пользовательских сессий, паролей базы данных и очередей Redis сгенерируйте три надежных 32-байтных шестнадцатеричных ключа с помощью онлайн генератора паролей или консольной утилиты openssl:
# Секретный ключ для подписи сессий и токенов авторизации
openssl rand -hex 32
# Пароль для внутреннего суперпользователя PostgreSQL
openssl rand -hex 32
# Пароль для доступа к серверу очередей Redis
openssl rand -hex 32
Создайте конфигурационный файл /opt/baserow/.env с защищенными правами доступа:
touch /opt/baserow/.env
chmod 600 /opt/baserow/.env
Заполните /opt/baserow/.env следующими параметрами (подставив свой домен и сгенерированные ключи):
# Публичный HTTPS-адрес, по которому сотрудники будут открывать Baserow
BASEROW_PUBLIC_URL=https://baserow.example.com
# Фиксация внутреннего Caddy на порту 80 (защита от попыток выпустить SSL внутри контейнера)
BASEROW_CADDY_ADDRESSES=:80
# Секретные ключи безопасности
SECRET_KEY=СЮДА_ВСТАВЬТЕ_ПЕРВЫЙ_КЛЮЧ_ОТ_OPENSSL
DATABASE_PASSWORD=СЮДА_ВСТАВЬТЕ_ВТОРОЙ_КЛЮЧ_ОТ_OPENSSL
REDIS_PASSWORD=СЮДА_ВСТАВЬТЕ_ТРЕТИЙ_КЛЮЧ_ОТ_OPENSSL
# Отключение автоматической телеметрии разработчикам
BASEROW_ENABLE_TELEMETRY=false
💡 Почему важна директива BASEROW_CADDY_ADDRESSES=:80
По умолчанию, если в переменной BASEROW_PUBLIC_URL указан протокол https://, встроенный во все-в-одном образ сервер Caddy попытается автоматически выпустить собственный SSL-сертификат через порт 443. Но в производственной схеме порт 443 внутрь контейнера не проброшен, а терминацией SSL занимается внешний Nginx. Параметр BASEROW_CADDY_ADDRESSES=:80 явно указывает встроенному Caddy слушать строго незашифрованный HTTP на порту 80, исключая любые конфликты и сбои при старте. Полный список всех поддерживаемых параметров окружения доступен в официальной документации Baserow.
4. Манифест Docker Compose: запуск сервиса Baserow v2.4.1
Разработчики Baserow предоставляют официально протестированный универсальный образ baserow/baserow:2.4.1. Он упаковывает Django, Nuxt.js, PostgreSQL 15, Redis и Celery в единый оптимизированный контейнер под управлением внутреннего менеджера процессов Supervisor и прокси Caddy.
Создайте файл манифеста /opt/baserow/docker-compose.yml:
services:
baserow:
image: baserow/baserow:2.4.1
container_name: baserow_app
restart: unless-stopped
env_file:
- .env
ports:
# Веб-интерфейс и WebSocket доступны исключительно на локальном интерфейсе 127.0.0.1
- "127.0.0.1:8080:80"
volumes:
# Каталог с базой данных PostgreSQL 15, медиафайлами и конфигурациями
- ./baserow_data:/baserow/data
deploy:
resources:
limits:
cpus: "2.0"
memory: 3G
reservations:
memory: 1G
# Обратная совместимость с Docker Compose v1
mem_limit: 3g
cpus: 2.0
healthcheck:
test: ["CMD-SHELL", "/baserow/baserow.sh backend-cmd backend-healthcheck || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
networks:
default:
name: baserow_net
Разверните сервис в фоновом режиме:
docker compose up -d
При первом запуске образ выполнит автоматическую инициализацию кластера PostgreSQL 15, применит системные миграции Django и запустит воркеры Celery. Процесс занимает от 30 до 60 секунд. Вы можете отслеживать прогресс запуска через системные логи:
docker compose logs -f --tail=50
Как только в терминале появится строка [BASEROW-WATCHER] Baserow is now available at..., контейнер успешно завершил стартовые процедуры и готов к обслуживанию запросов.
5. Первоначальная настройка администратора, рабочие пространства и типы полей
Первый зарегистрировавшийся в системе пользователь автоматически получает статус глобального администратора (Instance Administrator). Откройте локальный адрес или временно используйте SSH-туннель для первоначального создания учетной записи:
# Проброс порта 8080 на ваш локальный ПК через SSH
ssh -L 8080:127.0.0.1:8080 user@IP_АДРЕС_ВАШЕГО_VDS
Перейдите в браузере по адресу http://localhost:8080, укажите имя, рабочий email и стойкий пароль администратора.
⚠️ Защита от несанкционированной регистрации
По умолчанию Baserow оставляет регистрацию новых пользователей открытой для всех посетителей страницы. После создания учетной записи администратора обязательно отключите публичную регистрацию. Это можно сделать в веб-интерфейсе (Admin → Settings → Allow new users to sign up) либо добавив переменную BASEROW_ALLOW_NEW_SIGNUPS=false в файл /opt/baserow/.env с последующим перезапуском docker compose up -d. В этом случае новые сотрудники смогут регистрироваться исключительно по персональным приглашениям от руководителей.
1. Организация рабочих пространств (Workspaces)
Вся информация в Baserow структурируется по рабочим пространствам (Workspaces). Пространство объединяет базы данных конкретного отдела или проекта и разграничивает права доступа:
Коммерческий отдел— учет лидов, воронка продаж, карточки контрагентов и выставленные счета.Склад и логистика— номенклатура товаров, остатки на складах, перемещения и отгрузочные накладные.Управление проектами— задачи спринтов, трекер багов, учет затраченного времени и релизы.HR и кадры— кандидаты на вакансии, график отпусков и учет корпоративной техники.
2. Богатая палитра типов полей и реляционные связи
В отличие от плоских электронных таблиц, Baserow поддерживает строгие типы данных:
- Link to table (Реляционная связь): связывает строки одной таблицы со строками другой (связи «один-ко-многим» и «многие-ко-многим»). Например, в таблице «Заказы» можно выбрать клиента из таблицы «Контрагенты», а в карточке клиента мгновенно видеть всю историю его покупок.
- Lookup & Rollup (Выборка и агрегация): Lookup автоматически выводит значения из связанной таблицы (например, телефон или ИНН выбранного клиента). Rollup вычисляет итоговые метрики по связанным строкам: в настройках поля выбирается функция агрегации (Сумма, Среднее, Количество, Минимум, Максимум), либо в формуле используется функция агрегации связанных записей.
- Formula (Вычисляемые поля): мощный движок формул с поддержкой логических условий (
if(...)), математики, работы с датами (date_diff(...)) и регулярных выражений. - Single / Multiple Select: выпадающие списки с цветными бейджами для статусов задач и приоритетов.
- File / Image: загрузка договоров в PDF, сканов чеков и фотографий товаров прямо в ячейку с автоматической генерацией превью.
6. Представления данных: Таблица (Grid), Канбан, Галерея и Веб-формы
Одно из ключевых преимуществ Baserow — возможность смотреть на одни и те же строки под разными углами без дублирования информации в базе.
1. Табличная сетка (Grid View)
Классический табличный вид со сверхбыстрой виртуальной прокруткой тысяч строк. Позволяет закреплять колонки (Pin columns), настраивать условное цветовое форматирование ячеек, скрывать второстепенные поля и сохранять персональные фильтры для каждого сотрудника.
2. Доска Канбан (Kanban View)
Трансформирует строки таблицы в карточки, сгруппированные по выбранному полю типа «Выпадающий список». Например, по статусу сделки: Новый лид → Переговоры → КП отправлено → Договор подписан → Оплата получена. Перетаскивание карточки мышкой мгновенно обновляет значение статуса в PostgreSQL и рассылает событие всем коллегам через WebSockets.
3. Галерея (Gallery View)
Оптимальна для работы с визуальным контентом: каталогами продукции, базой объектов недвижимости или галереей брендбука. Карточки крупно отображают прикрепленные изображения и ключевые параметры (цена, артикул, наличие).
4. Встраиваемые публичные веб-формы (Form View)
Baserow содержит встроенный конструктор публичных форм (Web-to-Lead). Вы можете создать форму онлайн-заявки, опроса клиентов или отклика на вакансию и поделиться ссылкой либо встроить форму на сайт через <iframe>:
<!-- Встраивание формы сбора лидов Baserow на корпоративный сайт -->
<iframe
src="https://baserow.example.com/form/УНИКАЛЬНЫЙ_ТОКЕН_ФОРМЫ"
frameborder="0"
width="100%"
height="700"
style="border: none; border-radius: 8px;">
</iframe>
Каждое заполнение формы клиентом на сайте автоматически создает новую валидированную строку в вашей таблице PostgreSQL с прикрепленными файлами без использования сторонних скриптов.
Рекомендуемые VDS-провайдеры
Отказоустойчивые сервера с быстрыми NVMe и каналом до 1 Гбит/с
Timeweb Cloud — Производительные NVMe VDS
Скоростные серверы с быстрой дисковой подсистемой NVMe и высокой частотой процессора (до 3.3 ГГц) для моментального отклика таблиц Baserow и очередей Celery.
Selectel — Инфраструктура корпоративного уровня Tier III
Надежные серверы с защитой персональных данных по 152-ФЗ, гарантированными ресурсами и строгим SLA для корпоративных баз данных и учета заказов.
Beget — Удобные VDS с установкой Docker в один клик
Интуитивная панель управления, моментальный деплой на Ubuntu 24.04 LTS и круглосуточная русскоязычная техническая поддержка.
7. Настройка Nginx Reverse Proxy: SSL, WebSocket и безопасная отдача файлов
Для открытия защищенного внешнего доступа к Baserow настроим реверс-прокси Nginx. Конфигурация обязана корректно обрабатывать постоянные WebSocket-соединения для совместной работы в реальном времени и разрешать загрузку тяжелых вложений (до 100 МБ).
Установите веб-сервер Nginx и утилиту Certbot на хост:
sudo apt update
sudo apt install -y nginx certbot python3-certbot-nginx
Создайте конфигурационный файл виртуального хоста /etc/nginx/sites-available/baserow.conf:
# Определение заголовка Content-Disposition для безопасного скачивания файлов
map $arg_dl $baserow_media_content_disposition {
default "attachment; filename=$arg_dl";
"" "";
}
server {
listen 80;
listen [::]:80;
server_name baserow.example.com;
# Максимальный размер загружаемых файлов и медиавложений
client_max_body_size 100M;
# Маршрутизация REST API, очередей WebSockets, протокола MCP и OAuth
location ~ ^/(api|ws|mcp|oauth|\.well-known/oauth-(authorization-server|protected-resource))(/|$) {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
# Заголовки для постоянного WebSocket-соединения
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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;
# Длительные таймауты для стабильной работы WebSockets без обрывов
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
}
# Отдача основного веб-интерфейса Nuxt.js и статики
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Host $http_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:
sudo ln -s /etc/nginx/sites-available/baserow.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Выпустите бесплатный криптографический сертификат Let's Encrypt с автоматической переадресацией с HTTP на HTTPS:
sudo certbot --nginx -d baserow.example.com --redirect
Убедитесь в корректности установки сертификата и шифрования через онлайн-инструмент проверки SSL и проверьте закрытость внутренних портов через сканер открытых портов.
8. Автоматизация процессов: Swagger REST API, вебхуки и интеграция с n8n
Одно из главных инженерных преимуществ Baserow — нативная поддержка интеграций. Платформа проектировалась как headless-база данных, поэтому любая созданная таблица моментально получает собственный документированный API.
1. Автогенерируемая документация API (OpenAPI / Swagger)
В левом меню возле названия вашей базы данных нажмите на три точки и выберите View API docs. Baserow откроет интерактивную страницу Swagger, сгенерированную специально под схему ваших таблиц:
- Точные URL-эндпоинты для создания (POST), чтения (GET), фильтрации, обновления (PATCH) и удаления (DELETE) строк;
- Числовые идентификаторы полей (
field_123) и их человекочитаемые алиасы; - Готовые примеры запросов на
curl, JavaScript и Python с примерами валидных JSON-полезных нагрузок.
2. Создание API-токена для интеграций
В настройках профиля (Settings → API tokens) создайте токен с гранулярными правами (например, только запись в таблицу «Заказы»).
Пример добавления новой заявки из внешнего скрипта на Python или Node.js:
curl -X POST 'https://baserow.example.com/api/database/rows/table/42/?user_field_names=true' \
-H 'Authorization: Token ВАШ_СЕКРЕТНЫЙ_API_ТОКЕН' \
-H 'Content-Type: application/json' \
-d '{
"Имя клиента": "Алексей Смирнов",
"Телефон": "+7 (999) 123-45-67",
"Сумма заказа": 14500,
"Статус": "Новый"
}'
3. Мгновенные вебхуки и связка с платформой автоматизации n8n
В свойствах таблицы (Table settings → Webhooks) можно настроить отправку HTTP POST-запросов на любые события: создание строки, обновление ячейки или удаление записи.
Это позволяет построить бесшовный конвейер автоматизации с открытым оркестратором n8n в Docker Compose:
- Менеджер меняет статус заказа на «Оплачен» в Baserow;
- Baserow асинхронно через воркер Celery отправляет вебхук в рабочий процесс n8n;
- n8n генерирует фискальный чек, формирует PDF-накладную и отправляет оповещение клиенту в Telegram-бота.
9. Резервное копирование базы PostgreSQL, медиафайлов и восстановление
Все данные Baserow физически сосредоточены в двух местах каталога /opt/baserow/baserow_data:
- Таблицы, пользователи, схемы и связи хранятся в реляционной базе данных PostgreSQL 15 (каталог
base/); - Загруженные пользователями файлы, фото товаров и документы хранятся в каталоге
media/.
Для создания согласованной резервной копии без остановки работы сервиса напишем надежный bash-скрипт /opt/baserow/backup_baserow.sh:
#!/usr/bin/env bash
set -euo pipefail
BACKUP_DIR="/opt/baserow/backups"
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
mkdir -p "${BACKUP_DIR}"
echo "[$(date)] Старт резервного копирования Baserow..."
# 1. Создание консистентного горячего SQL-дампа PostgreSQL 15 через сервис baserow
docker compose -f /opt/baserow/docker-compose.yml exec -T baserow \
pg_dump -U baserow -d baserow -F c -b -v \
> "${BACKUP_DIR}/baserow_db_${TIMESTAMP}.dump"
# Проверка успешности создания и ненулевого размера дампа базы
if [[ ! -s "${BACKUP_DIR}/baserow_db_${TIMESTAMP}.dump" ]]; then
echo "[ОШИБКА] Дамп базы данных пуст или не был создан!" >&2
exit 1
fi
# 2. Архивирование пользовательских медиавложений и конфигурационного файла .env
tar -czf "${BACKUP_DIR}/baserow_media_${TIMESTAMP}.tar.gz" \
-C /opt/baserow \
.env \
baserow_data/media
# 3. Установка безопасных прав на созданные архивы (только для root)
chmod 600 "${BACKUP_DIR}"/baserow_*_${TIMESTAMP}.*
# 4. Ротация: удаление локальных бэкапов старше 14 дней
find "${BACKUP_DIR}" -name "baserow_*" -type f -mtime +14 -delete
echo "[$(date)] Резервная копия успешно создана в ${BACKUP_DIR}"
Сделайте скрипт исполняемым и добавьте задачу в планировщик cron для ночного выполнения в 03:30:
chmod +x /opt/baserow/backup_baserow.sh
# Добавление в crontab -e:
# 30 3 * * * /opt/baserow/backup_baserow.sh >> /var/log/baserow_backup.log 2>&1
💡 Хранение копий в независимом хранилище
Никогда не храните резервные копии только на том же диске, где крутится рабочая база. Настройте автоматическую отправку архивов в удаленное S3-хранилище с помощью утилиты Restic или собственного распределенного хранилища Garage S3.
Восстановление данных из резервной копии
Если потребовалось восстановить платформу после сбоя или перенести данные на новый VDS, выполните две команды:
# 1. Восстановление дампа базы данных в PostgreSQL 15
cat /opt/baserow/backups/baserow_db_YYYYMMDD_HHMMSS.dump | \
docker compose -f /opt/baserow/docker-compose.yml exec -T baserow \
pg_restore -U baserow -d baserow --clean --if-exists
# 2. Восстановление каталога медиафайлов
tar -xzf /opt/baserow/backups/baserow_media_YYYYMMDD_HHMMSS.tar.gz -C /opt/baserow/
Регламент обновления Baserow и миграции базы данных
Благодаря выносу персистентных данных в том /opt/baserow/baserow_data обновление платформы выполняется без риска потери пользовательских записей:
cd /opt/baserow
# 1. Обязательное создание резервной копии перед любым апгрейдом
./backup_baserow.sh
# 2. Загрузка свежего стабильного образа
docker compose pull
# 3. Перезапуск контейнера в фоновом режиме
docker compose up -d
# 4. Просмотр логов автоматического применения системных миграций
docker compose logs -f --tail=50
При старте нового контейнера образ автоматически запускает внутреннюю команду ./baserow.sh backend-cmd migrate и применяет все необходимые миграции к PostgreSQL 15.
⚠️ Апгрейд со старых версий (до Baserow v1.24)
Если вы переносите данные со старых установок Baserow (ниже версии 1.24), учитывайте, что в них использовался устаревший PostgreSQL 11. Актуальные релизы линейки 2.x работают на PostgreSQL 15 с несовместимым бинарным форматом файлов каталога PGDATA. Для таких инсталляций разработчики предоставляют специальный образ автоконвертации baserow/baserow-pgautoupgrade, который обновляет структуру файлов базы перед стартом. При чистой установке по нашей инструкции база данных сразу создается на PostgreSQL 15 и не требует промежуточных конвертаций.
10. Чек-лист готовности Baserow к корпоративной эксплуатации
| Элемент проверки | Рекомендуемый статус | Как верифицировать |
|---|---|---|
| Изоляция порта 8080 | 127.0.0.1:8080 | Команда ss -tulpn | grep 8080 подтверждает привязку сокета исключительно к петле 127.0.0.1. Внешний доступ закрыт. |
| Публичная регистрация | Отключена | В меню Admin → Settings переключатель «Allow new users to sign up» выключен. Новые пользователи добавляются только инвайтами. |
| Поддержка WebSockets | Upgrade: $http_upgrade | В панели разработчика браузера (F12 → Network → WS) соединение с /ws/ находится в статусе 101 Switching Protocols. |
| Лимиты ресурсов cgroups | deploy.resources (3G RAM / 2 vCPU) | Команда docker stats baserow_app --no-stream подтверждает ограничение потребления ОЗУ и защиту ядра от OOM Killer. |
| Максимальный размер файлов | client_max_body_size 100M | Попытка загрузки PDF-документа или скана размером 50 МБ в ячейку таблицы завершается успешно без ошибки 413. |
| Горячее резервное копирование | Настроено в cron | В каталоге /opt/baserow/backups ежедневно генерируются свежие файлы дампов baserow_db_*.dump. |