- Python 68.3%
- PHP 18%
- JavaScript 8.3%
- CSS 4.5%
- Shell 0.9%
| app | ||
| audio | ||
| backup | ||
| bin | ||
| config | ||
| daemon | ||
| database/migrations | ||
| docs | ||
| installer | ||
| notifier | ||
| packaging | ||
| phone | ||
| public | ||
| .gitignore | ||
| AUDIO-PROVENANCE.md | ||
| COMMERCIAL-LICENSE.md | ||
| DOCUMENTATION-LICENSE.md | ||
| install.sh | ||
| LICENSE | ||
| LICENSING.md | ||
| README.md | ||
| THIRD-PARTY-NOTICES.md | ||
RINGS
RINGS — локальная система звукового оповещения и аудиорасписаний для Debian 13. Система объединяет web-интерфейс, медиатеку, расписания, тревожные оповещения, телефонное управление, уведомления через Telegram и MAX, диагностику и резервное копирование.
RINGS не является сертифицированной системой пожарной автоматики, охранной сигнализации или государственной системой экстренного оповещения. Перед эксплуатацией организация самостоятельно проверяет применимые нормы, акустическое покрытие, резервное питание и наличие независимого канала оповещения.
Возможности
- ручной запуск и остановка звуковых тревог;
- календарные аудиорасписания;
- медиатека с загрузкой, переименованием и удалением файлов;
- web-интерфейс с пользователями, ролями и журналом действий;
- приоритет тревожного оповещения над обычным расписанием;
- уведомления через Telegram и MAX;
- телефонное управление через внешнюю АТС;
- контроль температуры CPU и S.M.A.R.T.;
- локальные и удалённые резервные копии;
- восстановление RINGS на чистом сервере из резервной копии.
Интерфейс
Расписание
Тревожные оповещения
Требования
- чистая Debian 13 amd64;
- доступ
rootилиsudo; - заранее настроенная сеть;
- доступ к репозиториям Debian во время установки;
- ALSA-совместимое звуковое устройство для штатной эксплуатации системы;
- внешняя АТС, если требуется телефонное управление.
Установка без звукового устройства допускается для тестирования, диагностики и подготовки сервера.
RINGS не настраивает сеть и не изменяет системный firewall, SSH, Zabbix, внешние ACL или конфигурацию АТС.
Быстрая установка
Проверьте архив перед распаковкой:
sha256sum -c rings-public-core-0.1.2.tar.gz.sha256
tar -tzf rings-public-core-0.1.2.tar.gz >/dev/null
Распакуйте архив и запустите установку:
tar -xzf rings-public-core-0.1.2.tar.gz
cd rings-public-core-0.1.2
sudo ./install.sh
Мастер установки последовательно запросит основные параметры сервера, сети, звука, телефонного управления, уведомлений, резервного копирования и учётной записи администратора.
Предварительная проверка без изменения сервера:
sudo ./install.sh --dry-run
После установки
Web-интерфейс доступен по адресу:
https://<IP-сервера>/
Сводка состояния сервера:
sudo /srv/rings/bin/rings-login-info
Повторная настройка:
sudo /usr/local/sbin/rings-reconfigure
Телефонное управление
В RINGS включён Asterisk 22.10.1, работающий как клиент внешней АТС. Телефонное управление позволяет после проверки PIN запускать и останавливать тревожные оповещения. При необходимости доступ можно ограничить разрешёнными Caller ID.
Сетевые порты и требования приведены в docs/NETWORK-PORTS.md.
Telegram и MAX
RINGS может отправлять уведомления о событиях системы через Telegram и MAX. Токены и пароли прокси хранятся отдельно от основной конфигурации. При необходимости для MAX можно использовать отдельный CA bundle.
Резервное копирование и восстановление
Резервная копия RINGS включает файлы системы, базы данных SQLite, медиатеку, конфигурацию, TLS, состояние телефонного управления и службы уведомлений, а также данные, необходимые для восстановления.
Перед сохранением резервной копии выполняется встроенная проверка целостности и согласованности данных.
Основные команды:
sudo /usr/bin/python3 /srv/rings/backup/rings_backup.py weekly
sudo /usr/bin/python3 /srv/rings/backup/rings_backup.py verify /path/to/archive.tar.gz
Для восстановления достаточно чистой Debian 13 amd64, архива rings-public-backup-*.tar.gz и соответствующего файла SHA-256. Закрытый SSH-ключ, используемый для отправки резервных копий на удалённый сервер, в резервную копию не включается и после восстановления при необходимости настраивается повторно.
Если установка или восстановление были прерваны, процесс можно безопасно запустить повторно.
Лицензирование
- оригинальный код RINGS — PolyForm Noncommercial 1.0.0;
- документация — CC BY-NC-SA 4.0;
- Asterisk — GPLv2;
- встроенный аудиокомплект имеет отдельные ограничения, описанные в
AUDIO-PROVENANCE.md; - сторонние компоненты сохраняют собственные лицензии.
PolyForm Noncommercial является source-available лицензией и не относится к лицензиям Open Source в определении OSI. Коммерческая лицензия на оригинальный код RINGS не предоставляет автоматически коммерческие права на встроенный аудиокомплект.
Документация
Правообладатель оригинальных компонентов RINGS: Егоров Виталий Сергеевич.
Контакт: egorowitaliy@gmail.com.

