Squop Docs

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

Настоящая инструкция предполагает, что Squop устанавливается на чистый VPS или выделенный сервер. До начала установки Ваш домен уже должен быть привязан к публичному IP сервера. Настройка Nginx или Caddy сама по себе домен не привязывает.

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

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

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

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

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

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

  • сервер с Ubuntu, Debian или похожей системой Linux;
  • минимум 2 CPU, 4 GB RAM и 20 GB свободного места;
  • домен, который указывает на ваш сервер;
  • Docker и Docker Compose;
  • 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. Веб-сервер принимает запросы по HTTPS и передаёт их в Squop.

Укажите домен без https://, пути и порта, например chat.example.com.

Email подставляется в команды и примеры конфигурации ниже.

Необязательно: пустое поле создаст случайный пароль.

Установите Caddy и создайте конфиг, который читает стандартный systemd-сервис:

bash
sudo apt update
sudo apt install -y caddy
sudo tee /etc/caddy/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
sudo caddy validate --config /etc/caddy/Caddyfile --adapter caddyfile
sudo systemctl enable caddy
sudo systemctl reload-or-restart caddy

Не добавляйте к домену http:// или :80: Caddy сам включит HTTPS.

Пример для 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;
    }
}

Скачать 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 --domain your_domain.ru --admin-email admin@example.com

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

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

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

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

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

Сначала проверьте сервер и конфигурацию, запустив команду:

bash
./squopctl preflight

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

bash
./squopctl install

После успешной установки терминал покажет email и пароль первого администратора. Запомните или запишите пароль. Если по каким-то причинам команда preflight выдала ошибки, например на сервере недостаточно памяти, при этом Вы осознанно хотите продолжить установку, используйте ./squopctl install --force. Команда скачает образы Docker, поднимет контейнеры, выполнит миграции, создаст первого администратора и проверит запуск.

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

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

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 перезапускает Squop после изменения настроек.
  • down останавливает Squop без удаления данных.
  • reset --destroy-data удаляет данные Squop из Docker, включая базу данных. Используйте только для полного сброса.
  • check-update проверяет наличие новой версии.
  • update запускает обновление.