Инструкция по установке ПО "Сигнал"

Пошаговое руководство по развёртыванию системы

1. Системные требования

Минимальные
Процессор2 ядра x86_64, 2.0 ГГц
ОЗУ2 ГБ
Диск10 ГБ
ОСLinux (Debian 12+, Ubuntu 22.04+)
Сеть10 Мбит/с
Рекомендуемые
Процессор4 ядра x86_64, 2.5 ГГц
ОЗУ4 ГБ
Диск50 ГБ (SSD)
ОСDebian 12 / Ubuntu 24.04 LTS
Сеть100 Мбит/с
Предустановленное ПО: Docker 20.10 или выше. Система поставляется в виде готового Docker-образа, содержащего все компоненты.

2. Пошаговая установка

Шаг 1: Установка Docker

Убедитесь, что Docker установлен на сервере:

docker --version
# Ожидаемый вывод: Docker version 20.10.x или выше

Если Docker не установлен:

# Установка Docker (Debian/Ubuntu)
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# Добавление пользователя в группу docker
sudo usermod -aG docker $USER
newgrp docker

Шаг 2: Получение дистрибутива

Дистрибутив предоставляется в виде готового Docker-образа. Ссылка на скачивание и пароль для распаковки находятся в сопроводительной документации.

# Загрузить Docker-образ в локальный реестр
docker load < signal-image.tar.gz

Шаг 3: Запуск контейнера

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

Быстрый запуск:

docker run -d \
  --name signal \
  --restart unless-stopped \
  -p 80:80 \
  signal:latest

Продуктивная конфигурация (с SSL и почтой):

docker run -d \
  --name signal \
  --restart unless-stopped \
  -p 80:80 \
  -p 443:443 \
  -v signal-storage:/var/www/html/storage \
  -v signal-db:/var/lib/mysql \
  -e APP_URL=https://your-domain.ru \
  -e MAIL_HOST=smtp.your-server.ru \
  -e MAIL_PORT=587 \
  -e MAIL_USERNAME=your-email@domain.ru \
  -e MAIL_PASSWORD=your-password \
  -v /path/to/cert.pem:/etc/ssl/signal/cert.pem:ro \
  -v /path/to/key.pem:/etc/ssl/signal/key.pem:ro \
  signal:latest

Шаг 4: Проверка

Убедитесь, что система работает:

# Проверить статус контейнера
docker ps | grep signal

# Проверить логи
docker logs signal --tail 50

# Проверить доступность
curl -k https://localhost/

Откройте в браузере адрес вашего сервера — должна отобразиться страница входа.

3. Управление системой

ДействиеКоманда
Остановитьdocker stop signal
Запуститьdocker start signal
Перезапуститьdocker restart signal
Просмотр логовdocker logs -f signal
Войти в контейнерdocker exec -it signal bash
Очистить кэшdocker exec signal php artisan cache:clear

4. Обновление

# Загрузить новый образ
docker load < signal-image-new.tar.gz

# Перезапустить контейнер
docker stop signal && docker rm signal

docker run -d \
  --name signal \
  --restart unless-stopped \
  -p 80:80 -p 443:443 \
  -v signal-storage:/var/www/html/storage \
  -v signal-db:/var/lib/mysql \
  signal:latest

Все обновления применяются автоматически при старте нового образа. Данные сохраняются в Docker-томах.