Squop Docs

Быстрый старт

Настоящая инструкция предполагает, что Squop устанавливается на чистый VPS или выделенный сервер.

Варианты запуска

Есть два базовых сценария:

  • external-proxy — основной вариант для сервера с доменом, HTTPS и внешним reverse proxy.
  • sandbox — для локальной проверки и тестов без полноценного HTTPS.

Ниже показан быстрый старт для external-proxy.

Что нужно перед запуском

Перед установкой подготовьте:

  • сервер на Ubuntu/Debian-like Linux;
  • минимум 2 CPU, 4 GB RAM и 10 GB свободного места;
  • домен, который указывает на ваш сервер;
  • Docker и Docker Compose plugin;
  • reverse proxy: например Caddy или Nginx.

Подготовить сервер

Обновите пакеты и установите базовые утилиты:

bash
sudo apt update
sudo apt install -y ca-certificates curl unzip

Установите Docker и Docker Compose plugin по официальной инструкции Docker для вашей системы (https://docs.docker.com/engine/install/ubuntu/).

Проверьте, что Docker работает:

bash
docker --version
docker compose version

Настроить reverse proxy

В режиме external-proxy Squop слушает локальный порт 127.0.0.1:8080. Внешний web server принимает HTTPS-трафик и проксирует его в Squop.

Пример для Caddy:

bash
sudo mkdir -p /opt/edge-proxy
sudo tee /opt/edge-proxy/Caddyfile >/dev/null <<'EOF'
your_domain.ru {
    reverse_proxy 127.0.0.1:8080 {
        header_up Host {host}
        header_up X-Forwarded-Host {host}
        header_up X-Forwarded-Proto https
        header_up X-Forwarded-Port 443
    }
}
EOF

Пример для Nginx:

nginx
server {
    listen 443 ssl http2;
    server_name your_domain.ru;

    ssl_certificate /path/to/fullchain.pem;
    ssl_certificate_key /path/to/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_http_version 1.1;

        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Forwarded-Port 443;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Замените your_domain.ru на свой домен и укажите реальные пути к TLS-сертификатам, если используете Nginx.

Скачать Squop

Скачайте архив self-hosted версии и перейдите в директорию установки:

bash
mkdir -p /var/www && cd /var/www
curl -L -o squop_selfhost.zip https://squop.ru/squop_selfhost.zip
unzip squop_selfhost.zip
cd squop_selfhost
chmod +x squopctl

Принять правила использования

Перед запуском squopctl ознакомьтесь с правилами self-hosted использования.

Если вы принимаете правила, создайте обязательный файл подтверждения:

bash
cp .license.example .license

Без файла .license с подтверждением принятия правил команды squopctl выполняться не будут.

Создать конфиг

Создайте стартовые файлы конфигурации:

bash
./squopctl init --profile external-proxy

После этого появятся файлы:

  • state/deploy.env — публичные настройки запуска;
  • state/secrets.env — секреты и данные первого администратора.

Сохраните state/secrets.env для этого instance. После установки его нельзя перегенерировать при обновлениях или перезапусках: пароль БД в файле должен совпадать с паролем внутри сохранённого Postgres volume.

Откройте эти файлы и проверьте основные значения:

env
PUBLIC_URL=https://your_domain.ru
HTTP_PORT=8080
ADMIN_PATH=admin
INITIAL_ADMIN_EMAIL=admin@example.com

PUBLIC_URL должен быть HTTPS-адресом вашего домена. Если ADMIN_PATH=admin, админка будет доступна по адресу https://your_domain.ru/admin.

Проверить и установить

Сначала проверьте сервер и конфиг:

bash
./squopctl preflight

Если проверка прошла успешно, запустите установку:

bash
./squopctl install

Команда скачает Docker images, поднимет контейнеры, выполнит миграции, создаст первого администратора и проверит запуск.

Проверить результат

Посмотрите состояние установки:

bash
./squopctl status
./squopctl verify

После успешной проверки откройте Squop в браузере:

text
https://your_domain.ru

Если путь админки не менялся, админка будет здесь:

text
https://your_domain.ru/admin

Полезные команды

bash
./squopctl logs
./squopctl restart
./squopctl down
./squopctl reset --destroy-data
./squopctl check-update
./squopctl update
  • logs показывает логи контейнеров.
  • restart пересоздает runtime после изменения конфига.
  • down останавливает Squop без удаления данных.
  • reset --destroy-data удаляет Docker volumes, включая Postgres. Используйте только для полного сброса.
  • check-update проверяет наличие новой версии.
  • update запускает обновление.