Короткий ответ: какой сервер нужен под бизнес-аналитику
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.0 | Metabase 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 ГБ хватает с запасом, двум на одной машине — впритык и только для одного-двух человек, команде нужно 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.
Реклама · АО «ТаймВэб»
Timeweb Cloud
MSK 50 за 3 840 ₽/мес при оплате за месяц: 2 ядра 3,3 ГГц, 4 ГБ, 50 ГБ, публичный IP. Та же память, что у нашего стенда.
Шаг 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 в этой проверке не ставили.
Ловушка 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.
Реклама · АО «ТаймВэб»
Timeweb Cloud
MSK 50 за 3 840 ₽/мес при оплате за месяц: 2 ядра 3,3 ГГц, 4 ГБ, 50 ГБ, публичный IP. Та же память, что у нашего стенда.
Частые вопросы
Сколько памяти нужно 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 ГБ или два отдельных сервера.
Подобрать сервер под задачу
Смотреть тарифыРеклама · ООО «Админвпс»
Ссылки на провайдеров в этом материале партнёрские: если вы оформите услугу, мы получим комиссию. На цену для вас это не влияет. Подробнее