Пошаговое руководство по развёртыванию системы
| Процессор | 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 установлен на сервере:
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
Дистрибутив предоставляется в виде готового Docker-образа. Ссылка на скачивание и пароль для распаковки находятся в сопроводительной документации.
# Загрузить Docker-образ в локальный реестр
docker load < signal-image.tar.gz
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
Убедитесь, что система работает:
# Проверить статус контейнера
docker ps | grep signal
# Проверить логи
docker logs signal --tail 50
# Проверить доступность
curl -k https://localhost/
Откройте в браузере адрес вашего сервера — должна отобразиться страница входа.
| Действие | Команда |
|---|---|
| Остановить | 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 |
# Загрузить новый образ
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-томах.