Перейти к основному содержанию

Apache Superset и Metabase на своём сервере: установка в Docker и три ловушки официальной инструкции

Superset и Metabase — системы бизнес-аналитики (по-английски BI, Business Intelligence): они подключаются к базе компании и показывают её данные графиками и дашбордами. Для одной такой системы хватит сервера с 4 ГБ памяти: у нас оба сразу заняли 2 671 МБ из 3 913 при одном пользователе.

Сервер с двумя дашбордами и зелёный щит с замком рядом с заголовком про Superset и Metabase

Короткий ответ: какой сервер нужен под бизнес-аналитику

Superset и Metabase — системы бизнес-аналитики (по-английски BI, Business Intelligence): они подключаются к базе компании и показывают её данные графиками и дашбордами. Для одной такой системы хватит сервера с 4 ГБ памяти: у нас оба сразу заняли 2 671 МБ из 3 913 при одном пользователе. Подойдут AdminVPS Micro за 899 ₽/мес или Timeweb Cloud MSK 50 за 3 840 ₽/мес — обе цены при оплате за месяц. Если дашборды будет открывать вся команда, берите 8 ГБ: столько считают достаточным администраторы сообщества Superset.

Тариф здесь не главное. В официальной установке три ловушки: Docker открывает порты в интернет мимо UFW, вход admin/admin работает сразу, а фоновые задачи Superset 6.1.0 не запускаются без драйвера PostgreSQL. Ниже — как закрыть каждую.

Как мы проверяли

Наш замер 06.11.2026: мы арендовали чистый сервер Timeweb Cloud NSK 50 (2 ядра, 4 ГБ памяти, 50 ГБ диска, Ubuntu 24.04) и поставили на него обе системы строго по официальным инструкциям: Apache Superset 6.1.0 через docker-compose-image-tag.yml и Metabase v0.65.2 с базой PostgreSQL 16. Потом с другого нашего сервера посмотрели, какие порты видны из интернета. Вся проверка заняла 17 минут, после неё сервер мы удалили.

Чего такая проверка не показывает: как системы ведут себя под нагрузкой многих пользователей, на настоящей базе компании, с HTTPS на домене и за месяцы работы. Время загрузки на другом сервере будет другим. Команды ниже — ровно те, что мы выполняли; пароль базы замените своим.

Superset или Metabase

Обе системы открытые: подключаются к вашей базе, строят графики и собирают их в дашборды. Различаются устройством и тем, кому с ними удобнее работать.

Apache Superset 6.1.0Metabase v0.65.2
Лицензия Apache 2.0 открытая часть — AGPL, каталог enterprise — коммерческая
Из чего состоит в Docker шесть контейнеров: приложение, воркер, планировщик, PostgreSQL, Redis, инициализация один контейнер приложения на Java плюс база приложения
Кому удобнее аналитику, который пишет SQL и строит сложные графики менеджеру: вопросы к данным собираются мышкой
Сколько ждать запуска 575 с вместе с загрузкой образов и примеров 80 с на загрузку образа и ещё 61 с до готовности
Сколько памяти занял 1 449 МБ на всей машине после SQL-запросов контейнер 1,29 ГиБ, база 156 МБ

Сколько памяти нужно

Документация Superset минимума не называет. В её FAQ сказано, что администраторы сообщества считают достаточными 8 ГБ памяти и 2 vCPU для экземпляра умеренного размера — это их опыт, а не требование. Metabase работает на Java и без настройки берёт под себя четверть памяти машины: у нас это было 980 МБ, а на сервере побольше он займёт больше.

Вот что показал сервер на 4 ГБ при одном пользователе:

Что запущеноЗанято на машинеСвободно
Ubuntu с Docker, Superset остановлен 587 МБ —
Superset после входа и трёх SQL-запросов 1 449 МБ 2 464 МБ
Metabase, Superset остановлен 1 882 МБ 2 030 МБ
Superset и Metabase вместе 2 671 МБ 1 242 МБ
Три столбца занятой памяти на сервере 4 ГБ: Superset, Metabase и оба приложения вместе
Обе системы вместе заняли две трети памяти сервера на 4 ГБ при одном пользователе — поэтому команде советуем 8 ГБ.

Итог простой: одному приложению 4 ГБ хватает с запасом, двум на одной машине — впритык и только для одного-двух человек, команде нужно 8 ГБ.

Какой сервер взять

Цены сверены с сайтами провайдеров 06.11.2026.

ТарифСоставЦена при помесячной оплате
AdminVPS Micro, Стандартные 3,6 ГГц 2 ядра, 4 ГБ, 60 ГБ NVMe, еженедельная копия бесплатно 899 ₽
AdminVPS Start, Стандартные 3,6 ГГц 4 ядра, 8 ГБ, 80 ГБ NVMe 1 289 ₽
Timeweb Cloud MSK 50, Premium 3,3 ГГц 2 ядра, 4 ГБ, 50 ГБ, публичный IP 3 840 ₽
Timeweb Cloud MSK 80, Premium 3,3 ГГц 4 ядра, 8 ГБ, 80 ГБ, публичный IP 7 000 ₽

Мы ставили всё на Timeweb Cloud в Новосибирске; на AdminVPS эту установку не запускали. Сами образы Docker от процессора не зависят, но скачиваться и отвечать будут с другой скоростью. Другие тарифы под контейнеры — в разделе Docker-хостинга.

Реклама · ООО «Админвпс»

AdminVPS

Micro за 899 ₽/мес при оплате за месяц: 2 ядра 3,6 ГГц, 4 ГБ, 60 ГБ NVMe. Хватает на Superset или Metabase для одного-двух человек.

Промокод EASYLINK — скидка 60 % на первый месяц при оплате за 1 месяц, кроме тарифов Lite.

Тарифы AdminVPS

Реклама · АО «ТаймВэб»

Timeweb Cloud

MSK 50 за 3 840 ₽/мес при оплате за месяц: 2 ядра 3,3 ГГц, 4 ГБ, 50 ГБ, публичный IP. Та же память, что у нашего стенда.

Тарифы Timeweb Cloud

Шаг 1. Docker и файрвол

Docker ставим из его собственного репозитория. UFW включаем с одним правилом — для SSH. Чуть ниже станет видно, почему этого мало.

install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" > /etc/apt/sources.list.d/docker.list
apt-get update
apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin git jq
ufw allow 22/tcp
ufw --force enable

Шаг 2. Superset 6.1.0 по официальному файлу

Версию закрепляем тегом: на начало ноября 2026 года 7.0.0 вышла только как предварительная rc2.

cd /opt
git clone --depth=1 --branch 6.1.0 https://github.com/apache/superset.git
cd superset
export TAG=6.1.0
docker compose -f docker-compose-image-tag.yml up -d

Команда ждёт, пока контейнер инициализации создаст базу и загрузит примеры, — у нас ушло 575 секунд вместе со скачиванием образов. После этого открываются 9 дашбордов и 103 графика из примеров. Документация Superset сама предупреждает, что такая установка не готова для продакшена из коробки. Ниже — что именно в ней не готово.

Ловушка 1. Фоновые задачи Superset не работают

Приложение отвечает, дашборды открываются, а контейнеры superset_worker и superset_worker_beat перезапускаются по кругу: у нас — 7 раз за первые минуты, в журнале ошибка No module named 'psycopg2'. Снаружи этого не видно, но очередь задач стоит: асинхронные запросы, отчёты и рассылки по расписанию не выполняются.

Лечится штатно. Скрипт запуска ставит дополнительные пакеты из файла docker/requirements-local.txt, если он есть, — а по умолчанию его нет.

echo "psycopg2-binary" >> docker/requirements-local.txt
docker compose -f docker-compose-image-tag.yml up -d --force-recreate superset-worker superset-worker-beat

Через минуту перезапуски прекратились, и отчёт по расписанию выполнился. Проверить у себя — docker ps: время работы воркера должно расти, а не начинаться заново каждые несколько секунд.

Ловушка 2. Docker открывает порты мимо UFW

UFW пропускал только SSH, а порт Superset 8088 всё равно открывался из интернета; позже так же открылся порт Metabase 3000. Это не ошибка настройки, а устройство Docker: в его документации прямо сказано, что Docker и UFW несовместимы и пакеты к опубликованным портам проходят раньше правил файрвола.

Выход — публиковать порт только на локальном адресе. В docker-compose-image-tag.yml у Superset строку порта меняем так:

    ports:
      - 127.0.0.1:8088:8088

После этого снаружи 8088 и 3000 закрылись, а с самого сервера оба приложения отвечали. У нас был Docker 29.9.3. По документации Docker, в версиях старше 28.0 до портов на 127.0.0.1 могли достучаться соседние машины той же сети, так что старый Docker стоит обновить. Людям приложения показывает Nginx с HTTPS: для него в UFW открывают порты 80 и 443, а сами приложения остаются закрытыми. Как это настроить — в статьях про Nginx на VPS и про сертификат Let's Encrypt; сами мы Nginx в этой проверке не ставили.

Схема: порт Docker 8088 открыт снаружи мимо UFW и закрыт после привязки к адресу 127.0.0.1
UFW пропускал только SSH, а порт Superset 8088 всё равно был виден из интернета. Закрыла его только привязка к 127.0.0.1.

Ловушка 3. admin/admin и чужой администратор Metabase

В официальной установке Superset есть учётная запись admin с паролем admin — так написано в документации, и войти по API у нас получилось. В файле docker/.env версии 6.1.0 лежат значения из открытого репозитория: SUPERSET_SECRET_KEY=TEST_NON_DEV_SECRET, SUPERSET_ENV=development, пароль базы superset. Ключ и пароль базы замените до первого запуска, пароль admin — сразу после входа. Сами мы эти замены не выполняли: проверяли установку как она есть.

У Metabase учётных записей по умолчанию нет — первую создаёт тот, кто первым откроет страницу настройки. Пока настройка не пройдена, сервер отдавал её токен без входа, в том числе снаружи. Значит, при открытом порте 3000 администратором вашей аналитики может стать посторонний. Порядок такой: сначала порт на 127.0.0.1, потом первая настройка.

Шаг 3. Metabase с базой PostgreSQL

Встроенную базу H2 документация Metabase для продакшена не советует и рекомендует PostgreSQL. Так и делаем: отдельная сеть, контейнер PostgreSQL 16 и Metabase с переменными подключения. Пароль базы придумайте свой.

docker network create mb
docker run -d --name mb-pg --network mb -e POSTGRES_USER=metabase -e POSTGRES_DB=metabase -e POSTGRES_PASSWORD=ваш_пароль -v mb-pg:/var/lib/postgresql/data postgres:16
docker run -d --name metabase --network mb -p 127.0.0.1:3000:3000 -e MB_DB_TYPE=postgres -e MB_DB_DBNAME=metabase -e MB_DB_PORT=5432 -e MB_DB_USER=metabase -e MB_DB_PASS=ваш_пароль -e MB_DB_HOST=mb-pg metabase/metabase:v0.65.2

Версию закрепляйте полным тегом. Мы ставили v0.65.2 — последний выпуск на GitHub в тот день, хотя на Docker Hub и на странице поддержки версий Metabase уже лежал v0.65.3 от 3 ноября. Свежий патч ищите там, а не только в выпусках GitHub. Metabase готов, когда curl http://127.0.0.1:3000/api/health отвечает {"status":"ok"}, — у нас через минуту после запуска.

Что ещё сделать до того, как пускать людей

  • Копии: данные Superset лежат в томе его PostgreSQL, данные Metabase — в томе mb-pg. Сохранять нужно именно их, а не только сервер.
  • К рабочей базе компании систему аналитики лучше подключать учётной записью только на чтение.
  • Если в дашбордах будут персональные данные клиентов, учтите требования 152-ФЗ к их обработке: выполняет их компания, а не программа.
  • Больше про защиту сервера — в чек-листе UFW, fail2ban и SSH, про Docker на российских VPS — в обзоре Docker-хостинга.

Коротко

  • Одной системе аналитики хватит сервера на 4 ГБ, команде нужно 8 ГБ.
  • Публикуйте порты на 127.0.0.1: Docker обходит UFW, и без этого Superset и Metabase видны из интернета.
  • В Superset 6.1.0 допишите psycopg2-binary в docker/requirements-local.txt, иначе отчёты и очереди не работают.
  • Смените admin/admin, секретный ключ и пароли до того, как пускать людей; Metabase настраивайте только после того, как закрыли порт.

Плюсы и минусы

Преимущества

  • Обе системы бесплатны в открытой версии и ставятся из готовых образов Docker на обычный VPS.
  • Данные компании остаются на своём сервере, а не в чужом облаке.

Недостатки

  • Официальная установка Superset требует ручной доводки: ключ, пароли, драйвер, порты.
  • Обновления, копии и HTTPS — ваша работа; облачная версия делала бы это сама.

Реклама · ООО «Админвпс»

AdminVPS

Micro за 899 ₽/мес при оплате за месяц: 2 ядра 3,6 ГГц, 4 ГБ, 60 ГБ NVMe. Хватает на Superset или Metabase для одного-двух человек.

Промокод EASYLINK — скидка 60 % на первый месяц при оплате за 1 месяц, кроме тарифов Lite.

Тарифы AdminVPS

Реклама · АО «ТаймВэб»

Timeweb Cloud

MSK 50 за 3 840 ₽/мес при оплате за месяц: 2 ядра 3,3 ГГц, 4 ГБ, 50 ГБ, публичный IP. Та же память, что у нашего стенда.

Тарифы Timeweb Cloud

Частые вопросы

Сколько памяти нужно Apache Superset?

Документация минимума не называет; в её FAQ администраторы сообщества считают достаточными 8 ГБ памяти и 2 vCPU для экземпляра умеренного размера. У нас официальная установка Superset 6.1.0 при одном пользователе заняла 1 449 МБ на машине с 4 ГБ. Для команды берите 8 ГБ.

Можно ли ставить Superset через docker compose в продакшен?

Документация Superset сама предупреждает, что установка через docker compose не готова для продакшена из коробки. Мы это подтвердили: вход admin/admin, тестовый секретный ключ, режим development, падающий воркер и порт, открытый мимо UFW. Всё исправляется, но руками.

Почему воркер Superset постоянно перезапускается?

В Superset 6.1.0 из официального docker-compose-image-tag.yml воркеру и планировщику не хватает драйвера PostgreSQL: в журнале ошибка No module named 'psycopg2'. Помогает строка psycopg2-binary в docker/requirements-local.txt и пересоздание этих двух контейнеров — после этого перезапуски прекратились.

Почему порт Docker открыт, хотя UFW его закрывает?

Docker публикует порты своими правилами, и пакеты проходят раньше правил UFW — документация Docker называет их несовместимыми. У нас порты 8088 и 3000 были видны снаружи при UFW, пропускавшем только SSH. Закрывает их публикация на 127.0.0.1, а людям приложение показывает Nginx.

Superset или Metabase — что выбрать?

Superset удобнее аналитику, который пишет SQL и строит сложные графики; он тяжелее и состоит из шести контейнеров. Metabase — один контейнер на Java, вопросы к данным собираются мышкой, и его проще отдать менеджерам. У Superset лицензия Apache 2.0, у открытой части Metabase — AGPL.

Можно ли поставить Superset и Metabase на один сервер?

Можно, если пользователей немного. У нас обе системы на машине с 4 ГБ заняли 2 671 МБ и оставили свободными 1 242 МБ при одном пользователе. Под команду и тяжёлые дашборды разумнее 8 ГБ или два отдельных сервера.

Подобрать сервер под задачу

Смотреть тарифы

Реклама · ООО «Админвпс»

Ссылки на провайдеров в этом материале партнёрские: если вы оформите услугу, мы получим комиссию. На цену для вас это не влияет. Подробнее

Об авторе

Логотип EasyLinkLife

Редакция EasyLinkLife

Редакция EasyLinkLife сверяет цены, состав тарифов и условия оплаты российских хостинг-провайдеров по их первоисточникам.

Проверено: Редакция EasyLinkLife | Обновлено: 6 ноября 2026 г.

Полезные материалы