Зафиксирован вариант размещения доменов SWChat на отдельном FastPanel-сервере
Этот коммит содержится в:
+43
-14
@@ -22,7 +22,7 @@
|
||||
|
||||
Разделение:
|
||||
- новый сервер: Matrix Synapse, PostgreSQL, TURN/STUN, backend, media storage, backups;
|
||||
- старый FastPanel сервер: frontend/web-client/витрина, без автоматических изменений FastPanel.
|
||||
- FastPanel-сервер: домены, frontend/web-client, публичная витрина и при необходимости reverse proxy, без размещения PostgreSQL/TURN и без вмешательства в чужие production-проекты.
|
||||
|
||||
## Стратегия тестирования
|
||||
|
||||
@@ -110,17 +110,38 @@ SWChat Core разворачивается на отдельном сервер
|
||||
- Matrix Synapse — отдельный сервис на 127.0.0.1:8008;
|
||||
- PostgreSQL — отдельная база для Matrix/SWChat;
|
||||
- backend/админка SWChat — отдельный локальный сервис;
|
||||
- web-client — на старом FastPanel-сервере в будущем;
|
||||
- web-client — на FastPanel-сервере в будущем;
|
||||
- Android-приложение — отдельный клиент Matrix, позже брендированный под SWChat/StackWorks;
|
||||
- Caddy reverse proxy — отдельный HTTPS слой на Core-сервере.
|
||||
- Caddy reverse proxy — отдельный HTTPS слой на Core-сервере либо, при выбранной схеме, FastPanel/Nginx reverse proxy на отдельном FastPanel-сервере.
|
||||
|
||||
## Вариант с другим FastPanel-сервером
|
||||
|
||||
Можно разместить публичные домены SWChat на другом нашем сервере с FastPanel, если этот сервер не является текущим production-сервером ArtistFlow/widget.stackworks.ru.
|
||||
|
||||
Разрешённая роль такого FastPanel-сервера:
|
||||
- держать DNS/домены и SSL для chat.stackworks.ru, messenger.stackworks.ru, matrix.stackworks.ru;
|
||||
- размещать web-клиент SWChat;
|
||||
- работать как reverse proxy до Core-сервера с Matrix Synapse;
|
||||
- отдавать статическую витрину/лендинг/документацию SWChat.
|
||||
|
||||
Нежелательная роль FastPanel-сервера:
|
||||
- размещать PostgreSQL Matrix;
|
||||
- размещать TURN/STUN для звонков;
|
||||
- хранить тяжёлые media/backups Matrix;
|
||||
- смешивать Matrix Core с чужими production-проектами.
|
||||
|
||||
Предпочтительная схема:
|
||||
- Core-сервер: Synapse, PostgreSQL, media, backups, TURN позже;
|
||||
- отдельный FastPanel-сервер: домены, SSL, frontend и proxy;
|
||||
- старый production FastPanel с ArtistFlow/widget.stackworks.ru не трогать.
|
||||
|
||||
## Домены проекта
|
||||
|
||||
Рекомендуемая безопасная схема:
|
||||
- matrix.stackworks.ru — Matrix API / Synapse, новый SWChat Core сервер;
|
||||
- matrix.stackworks.ru — Matrix API / Synapse, новый SWChat Core сервер или reverse proxy на отдельном FastPanel-сервере до Core;
|
||||
- turn.stackworks.ru — TURN/STUN, новый SWChat Core сервер;
|
||||
- api-chat.stackworks.ru — backend API, новый SWChat Core сервер, если понадобится;
|
||||
- chat.stackworks.ru или messenger.stackworks.ru — web-клиент на старом FastPanel-сервере;
|
||||
- chat.stackworks.ru или messenger.stackworks.ru — web-клиент на FastPanel-сервере;
|
||||
- widget.stackworks.ru — отдельный production-виджет StackWorks, не часть Matrix/SWChat на текущем этапе.
|
||||
|
||||
## Предварительные директории Core-сервера
|
||||
@@ -142,7 +163,7 @@ SWChat Core разворачивается на отдельном сервер
|
||||
- Matrix Synapse в контейнере;
|
||||
- Caddy HTTPS reverse proxy;
|
||||
- coturn позже;
|
||||
- отдельные DNS-записи на IP нового сервера.
|
||||
- отдельные DNS-записи на IP нового сервера или proxy-домены на отдельном FastPanel-сервере.
|
||||
|
||||
## MVP проекта
|
||||
|
||||
@@ -151,7 +172,7 @@ SWChat Core разворачивается на отдельном сервер
|
||||
2. Поднять Matrix Synapse на отдельном Core-сервере.
|
||||
3. Подключить PostgreSQL.
|
||||
4. Проверить локальный Matrix endpoint.
|
||||
5. Подготовить DNS/proxy инструкции без изменения FastPanel.
|
||||
5. Подготовить DNS/proxy инструкции без изменения production FastPanel.
|
||||
6. Протестировать через официальные Matrix-клиенты.
|
||||
7. Только после этого подготовить Android/Web-клиент SWChat.
|
||||
|
||||
@@ -175,7 +196,7 @@ SWChat Core разворачивается на отдельном сервер
|
||||
7. Перед потенциально опасными действиями добавлять backup-скрипт.
|
||||
8. Любые действия с widget.stackworks.ru только после отдельной явной команды.
|
||||
9. Ведение .sw обязательно на протяжении всего проекта.
|
||||
10. Всё, что касается FastPanel, не трогать самостоятельно: только инструкции/шаблоны до отдельной команды пользователя.
|
||||
10. Всё, что касается текущего production FastPanel, не трогать самостоятельно: только инструкции/шаблоны до отдельной команды пользователя.
|
||||
11. Собственный клиент SWChat начинать только после успешного тестирования Core через официальные Matrix-клиенты.
|
||||
|
||||
## Текущий статус
|
||||
@@ -213,25 +234,33 @@ SWChat Core разворачивается на отдельном сервер
|
||||
- Обновлён scripts/healthcheck.sh.
|
||||
- Исправлено старое имя WSMessenger в healthcheck.
|
||||
- Healthcheck теперь дополнительно проверяет 80/443 порты и локальный Matrix endpoint.
|
||||
- Рассмотрен вариант размещения публичных доменов SWChat на другом нашем сервере с FastPanel.
|
||||
- Зафиксировано: отдельный FastPanel-сервер можно использовать для доменов, SSL, web-клиента и reverse proxy до Core-сервера.
|
||||
- Зафиксировано: Matrix Core, PostgreSQL, media storage, backups и TURN/STUN лучше держать на отдельном Core-сервере, а не внутри FastPanel.
|
||||
- Зафиксировано: текущий production FastPanel с ArtistFlow/widget.stackworks.ru не трогать.
|
||||
|
||||
## Текущий этап установки
|
||||
|
||||
SWChat Core локально работает на новом отдельном сервере.
|
||||
|
||||
Следующий этап — публичный HTTPS через Caddy.
|
||||
Следующий этап — публичный HTTPS.
|
||||
|
||||
Допустимые варианты:
|
||||
1. Caddy на Core-сервере напрямую принимает 80/443 для matrix.stackworks.ru.
|
||||
2. Отдельный FastPanel-сервер принимает домены/SSL и проксирует matrix.stackworks.ru до Core-сервера.
|
||||
|
||||
После настройки DNS ожидается:
|
||||
- автоматический выпуск Let's Encrypt сертификата через Caddy;
|
||||
- HTTPS endpoint на https://matrix.stackworks.ru;
|
||||
- успешный Matrix login через официальный Element.
|
||||
|
||||
## Следующий шаг
|
||||
|
||||
Следующий этап:
|
||||
- настроить DNS A-запись matrix.stackworks.ru на IP нового Core-сервера;
|
||||
- открыть TCP 80/443 до Core-сервера;
|
||||
- выполнить docker compose up -d после обновления compose;
|
||||
- выбрать схему публичных доменов: прямой Caddy на Core-сервере или отдельный FastPanel reverse proxy;
|
||||
- настроить DNS A-записи доменов SWChat на выбранный публичный сервер;
|
||||
- открыть TCP 80/443 до публичного сервера;
|
||||
- если выбран FastPanel proxy, подготовить отдельные proxy-шаблоны под matrix.stackworks.ru и chat.stackworks.ru;
|
||||
- проверить HTTPS endpoint через браузер и curl;
|
||||
- создать первого пользователя Matrix;
|
||||
- проверить вход через официальный Element/Matrix клиент;
|
||||
- только после этого готовить frontend на FastPanel-сервере и свой Android/Web-клиент.
|
||||
- только после этого готовить frontend и свой Android/Web-клиент.
|
||||
|
||||
Ссылка в новой задаче
Block a user