Предварительные условия
Заголиньтесь под root и создайте пользователя (с правами sudo или потом используйте вход под root su -
для установки пакетов):
adduser admin
adduser admin sudo
Залогиньтесь по своим пользователем и установите некоторые пакеты, например:
sudo apt update && sudo apt upgrade -y
sudo apt install -y mc unzip htop fail2ban
sudo apt update && sudo apt upgrade -y
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo docker info
sudo usermod -aG docker $USER
Перезайдите в систему, чтобы изменения вступили в силу
sudo chmod 666 /var/run/docker.sock
sudo apt install -y docker-compose-plugin
docker compose version
docker run hello-world
Теперь Docker и Docker Compose установлены и готовы к использованию.
Для персистентного блокирования внешнего трафика, кроме ключевых портов веб-сервера (HTTP 80, HTTPS 443) и SSH, используйте UFW (Uncomplicated Firewall).
sudo apt install -y ufw
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 22/tcp
Важно: Если вы используете нестандартный порт для SSH (например, 2222), замените
22/tcp
на2222/tcp
.
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable
sudo ufw status verbose
Правила UFW автоматически сохраняются в файл /etc/ufw/user.rules
и применяются после перезагрузки. Проверьте это:
sudo cat /etc/ufw/user.rules
Логирование:
sudo ufw logging on
Просмотр логов:
sudo journalctl -u ufw
Теперь ваш сервер будет принимать только трафик на указанных портах, а остальные будут заблокированы даже после перезагрузки.
Вам требуется иметь токен для доступа к архивам и серийный номер для активации лицензии.
wget https://cdn.cubisio.ru/releases/datascience/YOUR_TOKEN/docker-cubisio-enterprise-datasciense.tar.gz
tar xzf docker-cubisio-enterprise-datasciense.tar.gz
cd ~/cubisio-enterprise-datasciense
wget https://cdn.cubisio.ru/releases/YOUR_TOKEN/cubisio-enterprise.tar.gz
wget https://cdn.cubisio.ru/releases/datascience/YOUR_TOKEN/cubisio-datascience-module.tar.gz
./install.sh
Остальные каталоги с конфигурациями можно удалить, кроме ~/cubisio-enterprise-datasciense
.
CUBISIO_HOSTNAME
- обязательно укажите ваш домен или IP-адрес сервераCUBISIO_ADMIN_PWD
- установите пароль для администратора CubisioCUBISIO_USER_PWD
- установите пароль для дополнительного пользователя Cubisio (имя пользователя CUBISIO_USER_NAME)KEYCLOAK_ADMIN_PWD
- установите пароль для администратора KeycloakDISABLE_DB_POSTGRESQL
или DISABLE_DB_CLICKHOUSE - отключите или включите поддержку баз данныхCUBISIO_ADMIN_EMAIL
- email администратора сервера и доменаUSE_CERTBOT
- включает использование Let`s Encrypt Certbot, по умолчанию используется self-signed сертификатCUBISIO_WEB_XML
- если требуется доступ неавторизованным пользователям (по умолчанию все анонимы отправляются на страницу логина, при активации - автоматически пропускаются как anonymous)nano enterprise.env
./build.sh
cat .env
./start.sh -d
./logs.sh -f
11.а. Если используется Certbot
Если DNS настроен на этот сервер и он доступен из интернет, после первого запуска Certbot должен скачать сертификат.
11.а.1 Убедитесь, что сертификат загружен
ls -l enterprise/certs/live/
11.а.2 Остановите контейнеры
./down.sh
11.а.3 Замените в конфиге nginx путь к сертификату, вместо selfsign укажите актуальный путь
nano enterprise/nginx-certbot.conf
11.а.4 Вновь запустите контейнеры
./start.sh -d
Используйте CUBISIO_ADMIN_PWD и CUBISIO_USER_PWD для доступа к Cubisio.
При необходимости выполните активацию лицензии.
https://CUBISIO_HOSTNAME
Используйтуйте JUPYTER_TOKEN для доступа к JupyterLab
https://CUBISIO_HOSTNAME/jupyterlab
Откройте Cubisio и в любом проекте создайте объект Блокнот, добавьте секцию и вставьте в нее код:
import pandas as pd
print("Hello, World!")
Для тестирования соединений с интернетом, добавьте в блокнот секцию:
import requests
print(requests.get("https://www.google.com").text[:100])
Если все работает, то вы должны увидеть первые 100 символов ответа от Google.
Теперь Сubisio Enterprise Datasciense установлен и готов к использованию!