Зафиксирован выбор схемы FastPanel reverse proxy для SWChat
Этот коммит содержится в:
+29
-14
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
Разделение:
|
Разделение:
|
||||||
- новый сервер: Matrix Synapse, PostgreSQL, TURN/STUN, backend, media storage, backups;
|
- новый сервер: Matrix Synapse, PostgreSQL, TURN/STUN, backend, media storage, backups;
|
||||||
- FastPanel-сервер: домены, frontend/web-client, публичная витрина и при необходимости reverse proxy, без размещения PostgreSQL/TURN и без вмешательства в чужие production-проекты.
|
- FastPanel-сервер: домены, frontend/web-client, публичная витрина и reverse proxy, без размещения PostgreSQL/TURN и без вмешательства в чужие production-проекты.
|
||||||
|
|
||||||
## Стратегия тестирования
|
## Стратегия тестирования
|
||||||
|
|
||||||
@@ -112,7 +112,18 @@ SWChat Core разворачивается на отдельном сервер
|
|||||||
- backend/админка SWChat — отдельный локальный сервис;
|
- backend/админка SWChat — отдельный локальный сервис;
|
||||||
- web-client — на FastPanel-сервере в будущем;
|
- web-client — на FastPanel-сервере в будущем;
|
||||||
- Android-приложение — отдельный клиент Matrix, позже брендированный под SWChat/StackWorks;
|
- Android-приложение — отдельный клиент Matrix, позже брендированный под SWChat/StackWorks;
|
||||||
- Caddy reverse proxy — отдельный HTTPS слой на Core-сервере либо, при выбранной схеме, FastPanel/Nginx reverse proxy на отдельном FastPanel-сервере.
|
- FastPanel/Nginx reverse proxy — основной публичный HTTPS слой для SWChat.
|
||||||
|
|
||||||
|
## Основная публичная схема
|
||||||
|
|
||||||
|
Выбрана архитектура:
|
||||||
|
|
||||||
|
FastPanel reverse proxy → SWChat Core.
|
||||||
|
|
||||||
|
Поток трафика:
|
||||||
|
- пользователь → FastPanel/Nginx;
|
||||||
|
- FastPanel SSL/proxy → Core-сервер Matrix Synapse;
|
||||||
|
- Synapse работает локально на Core.
|
||||||
|
|
||||||
## Вариант с другим FastPanel-сервером
|
## Вариант с другим FastPanel-сервером
|
||||||
|
|
||||||
@@ -138,7 +149,7 @@ SWChat Core разворачивается на отдельном сервер
|
|||||||
## Домены проекта
|
## Домены проекта
|
||||||
|
|
||||||
Рекомендуемая безопасная схема:
|
Рекомендуемая безопасная схема:
|
||||||
- matrix.stackworks.ru — Matrix API / Synapse, новый SWChat Core сервер или reverse proxy на отдельном FastPanel-сервере до Core;
|
- matrix.stackworks.ru — Matrix API / Synapse через FastPanel reverse proxy;
|
||||||
- turn.stackworks.ru — TURN/STUN, новый SWChat Core сервер;
|
- turn.stackworks.ru — TURN/STUN, новый SWChat Core сервер;
|
||||||
- api-chat.stackworks.ru — backend API, новый 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-сервере;
|
||||||
@@ -161,9 +172,9 @@ SWChat Core разворачивается на отдельном сервер
|
|||||||
- Docker Compose plugin;
|
- Docker Compose plugin;
|
||||||
- PostgreSQL в контейнере;
|
- PostgreSQL в контейнере;
|
||||||
- Matrix Synapse в контейнере;
|
- Matrix Synapse в контейнере;
|
||||||
- Caddy HTTPS reverse proxy;
|
- FastPanel reverse proxy на отдельном сервере;
|
||||||
- coturn позже;
|
- coturn позже;
|
||||||
- отдельные DNS-записи на IP нового сервера или proxy-домены на отдельном FastPanel-сервере.
|
- отдельные DNS-записи на proxy FastPanel сервер.
|
||||||
|
|
||||||
## MVP проекта
|
## MVP проекта
|
||||||
|
|
||||||
@@ -238,16 +249,20 @@ SWChat Core разворачивается на отдельном сервер
|
|||||||
- Зафиксировано: отдельный FastPanel-сервер можно использовать для доменов, SSL, web-клиента и reverse proxy до Core-сервера.
|
- Зафиксировано: отдельный FastPanel-сервер можно использовать для доменов, SSL, web-клиента и reverse proxy до Core-сервера.
|
||||||
- Зафиксировано: Matrix Core, PostgreSQL, media storage, backups и TURN/STUN лучше держать на отдельном Core-сервере, а не внутри FastPanel.
|
- Зафиксировано: Matrix Core, PostgreSQL, media storage, backups и TURN/STUN лучше держать на отдельном Core-сервере, а не внутри FastPanel.
|
||||||
- Зафиксировано: текущий production FastPanel с ArtistFlow/widget.stackworks.ru не трогать.
|
- Зафиксировано: текущий production FastPanel с ArtistFlow/widget.stackworks.ru не трогать.
|
||||||
|
- Принято финальное решение использовать схему FastPanel reverse proxy → SWChat Core.
|
||||||
|
- Создан docs/FASTPANEL_REVERSE_PROXY.md.
|
||||||
|
- Зафиксирована схема ограничения доступа к Matrix port 8008 только с IP FastPanel proxy сервера.
|
||||||
|
- Зафиксировано: SSL и публичные домены обслуживаются FastPanel/Nginx.
|
||||||
|
- Зафиксировано: Synapse остаётся изолированным на Core-сервере.
|
||||||
|
|
||||||
## Текущий этап установки
|
## Текущий этап установки
|
||||||
|
|
||||||
SWChat Core локально работает на новом отдельном сервере.
|
SWChat Core локально работает на новом отдельном сервере.
|
||||||
|
|
||||||
Следующий этап — публичный HTTPS.
|
Текущий выбранный этап:
|
||||||
|
- отдельный FastPanel reverse proxy сервер;
|
||||||
Допустимые варианты:
|
- публичный SSL через FastPanel;
|
||||||
1. Caddy на Core-сервере напрямую принимает 80/443 для matrix.stackworks.ru.
|
- Matrix Synapse только на Core.
|
||||||
2. Отдельный FastPanel-сервер принимает домены/SSL и проксирует matrix.stackworks.ru до Core-сервера.
|
|
||||||
|
|
||||||
После настройки DNS ожидается:
|
После настройки DNS ожидается:
|
||||||
- HTTPS endpoint на https://matrix.stackworks.ru;
|
- HTTPS endpoint на https://matrix.stackworks.ru;
|
||||||
@@ -256,10 +271,10 @@ SWChat Core локально работает на новом отдельном
|
|||||||
## Следующий шаг
|
## Следующий шаг
|
||||||
|
|
||||||
Следующий этап:
|
Следующий этап:
|
||||||
- выбрать схему публичных доменов: прямой Caddy на Core-сервере или отдельный FastPanel reverse proxy;
|
- настроить DNS A-записи matrix.stackworks.ru и chat.stackworks.ru на FastPanel proxy сервер;
|
||||||
- настроить DNS A-записи доменов SWChat на выбранный публичный сервер;
|
- выпустить SSL в FastPanel для matrix.stackworks.ru;
|
||||||
- открыть TCP 80/443 до публичного сервера;
|
- добавить Nginx proxy до Core Server:8008;
|
||||||
- если выбран FastPanel proxy, подготовить отдельные proxy-шаблоны под matrix.stackworks.ru и chat.stackworks.ru;
|
- ограничить доступ к Core:8008 только FastPanel proxy IP;
|
||||||
- проверить HTTPS endpoint через браузер и curl;
|
- проверить HTTPS endpoint через браузер и curl;
|
||||||
- создать первого пользователя Matrix;
|
- создать первого пользователя Matrix;
|
||||||
- проверить вход через официальный Element/Matrix клиент;
|
- проверить вход через официальный Element/Matrix клиент;
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user