Обновлён README под SWChat

Этот коммит содержится в:
Виктор
2026-05-08 23:50:23 +09:00
родитель 357af30227
Коммит c66280f037
+133 -38
Просмотреть файл
@@ -1,57 +1,152 @@
# WSMessenger # SWChat
WSMessenger — собственный Android/Web мессенджер на базе Matrix. SWChat — self-hosted Android/Web мессенджер на базе Matrix для экосистемы StackWorks.
Проект создаётся как независимая экосистема StackWorks: Проект строится как собственная платформа связи:
- Android-приложение; - Matrix Core на отдельном сервере;
- web-клиент; - PostgreSQL;
- Matrix homeserver; - официальный Matrix/Element-клиент для первого тестирования;
- встраиваемый чат-виджет; - будущий web-клиент;
- админ-панель; - будущий Android-клиент;
- операторские панели; - будущая админ-панель;
- self-hosted установка рядом с FastPanel. - безопасная архитектура без вмешательства в существующий production.
## Главная цель ## Текущая стратегия
Создать современный self-hosted мессенджер с: Сначала поднимаем и проверяем серверное ядро через официальные Matrix-клиенты.
- собственным брендом;
- независимой инфраструктурой;
- Android-клиентом;
- web-клиентом;
- поддержкой виджета для сайтов;
- возможностью масштабирования;
- безопасной установкой рядом с существующими проектами.
## Базовая архитектура Порядок:
1. Поднять SWChat Core на отдельном сервере.
2. Проверить Matrix/Synapse локально.
3. Настроить публичный домен `matrix.stackworks.ru`.
4. Проверить работу через официальные клиенты Matrix/Element.
5. Только после стабильной проверки начинать разработку собственного Android/Web-клиента.
Это нужно, чтобы не путать проблемы сервера с проблемами будущего собственного UI.
## Архитектура
SWChat работает по split-server архитектуре.
### Новый сервер: SWChat Core
На новом сервере размещаются:
- Matrix Synapse; - Matrix Synapse;
- PostgreSQL; - PostgreSQL;
- coturn; - media storage;
- FastPanel reverse proxy; - будущий TURN/STUN;
- Docker Compose; - будущий backend API;
- Android Matrix SDK; - backups;
- собственный backend/панель. - diagnostics.
## Безопасность Рекомендуемые домены:
WSMessenger никогда не должен ломать существующие проекты: ```text
matrix.stackworks.ru -> новый SWChat Core сервер
turn.stackworks.ru -> новый SWChat Core сервер, позже
api-chat.stackworks.ru -> новый SWChat Core сервер, позже
```
### Старый сервер с FastPanel
Старый сервер с FastPanel используется только для будущего frontend/web-клиента.
На нём остаются отдельно:
- ArtistFlow; - ArtistFlow;
- сайты FastPanel; - widget.stackworks.ru;
- nginx-конфиги; - текущие сайты StackWorks/FastPanel.
- существующие базы данных.
Все сервисы запускаются отдельно и наружу публикуются только через reverse proxy. SWChat installer не меняет FastPanel, не меняет vhost, не меняет SSL и не трогает существующие сайты.
Будущий frontend-домен:
```text
chat.stackworks.ru
```
## Что нельзя трогать
Защищённые production-активы:
- `artistflow.ru`;
- `widget.stackworks.ru`;
- текущие сайты FastPanel;
- настройки FastPanel без отдельной явной команды.
`widget.stackworks.ru` на текущем этапе никак не связан с Matrix/SWChat. Новый виджет SWChat не планируется.
## Установка SWChat Core
На новом сервере Ubuntu:
```bash
sudo mkdir -p /opt/swchat
sudo git clone https://github.com/viktor138irk/SWChat.git /opt/swchat/source
cd /opt/swchat/source
sudo SERVER_NAME=matrix.stackworks.ru bash scripts/install.sh
```
Installer:
- создаёт структуру `/opt/swchat`;
- устанавливает Docker, если он отсутствует;
- создаёт `.env`;
- генерирует Synapse config;
- настраивает PostgreSQL для Synapse;
- запускает контейнеры;
- не трогает FastPanel.
## Проверка после установки
```bash
sudo bash /opt/swchat/source/scripts/healthcheck.sh
curl http://127.0.0.1:8008/_matrix/client/versions
```
Ожидаемый результат `curl` — JSON с версиями Matrix API.
## Тестирование официальными клиентами
До разработки собственного клиента проверяем сервер через:
- Element Web;
- Element Desktop;
- Element Android;
- любые совместимые Matrix-клиенты.
Проверяем:
- регистрацию/логин;
- личные сообщения;
- комнаты;
- отправку файлов;
- стабильность Synapse;
- работу публичного домена.
## Структура проекта ## Структура проекта
- docs/ — документация; ```text
- scripts/ — installer/healthcheck; .sw главный журнал проекта
- public/widget/ — web widget; docker-compose.yml Matrix/PostgreSQL stack
- docker-compose.yml — инфраструктура Matrix; scripts/install.sh автоустановщик Core-сервера
- .sw — главный журнал проекта. scripts/healthcheck.sh диагностика
docs/ документация
VERSION версия проекта
```
## Правило `.sw`
Файл `.sw` — главный журнал проекта.
В него обязательно записываются:
- архитектурные решения;
- изменения версий;
- текущий статус;
- следующий шаг;
- ошибки и исправления;
- запреты и защищённые production-активы.
Новый диалог по проекту начинается с чтения `.sw`.
## Текущий статус ## Текущий статус
Версия: 0.1.0 Версия: `0.1.0`
Подготовлен базовый фундамент проекта. Сейчас идёт этап запуска SWChat Core на отдельном сервере и тестирования через официальные Matrix-клиенты.