From ae9b2983f9861e29f0974dad3659c359e03bbc58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B8=D0=BA=D1=82=D0=BE=D1=80?= <78488229+viktor138irk@users.noreply.github.com> Date: Sat, 9 May 2026 00:29:20 +0900 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D1=84=D0=B8=D0=BA=D1=81=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=20=D0=B2=D1=8B=D0=B1=D0=BE=D1=80?= =?UTF-8?q?=20=D1=81=D1=85=D0=B5=D0=BC=D1=8B=20FastPanel=20reverse=20proxy?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20SWChat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .sw | 43 +++++++++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/.sw b/.sw index eab222b..a105a73 100644 --- a/.sw +++ b/.sw @@ -22,7 +22,7 @@ Разделение: - новый сервер: 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 — отдельный локальный сервис; - web-client — на FastPanel-сервере в будущем; - 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-сервером @@ -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 сервер; - api-chat.stackworks.ru — backend API, новый SWChat Core сервер, если понадобится; - chat.stackworks.ru или messenger.stackworks.ru — web-клиент на FastPanel-сервере; @@ -161,9 +172,9 @@ SWChat Core разворачивается на отдельном сервер - Docker Compose plugin; - PostgreSQL в контейнере; - Matrix Synapse в контейнере; -- Caddy HTTPS reverse proxy; +- FastPanel reverse proxy на отдельном сервере; - coturn позже; -- отдельные DNS-записи на IP нового сервера или proxy-домены на отдельном FastPanel-сервере. +- отдельные DNS-записи на proxy FastPanel сервер. ## MVP проекта @@ -238,16 +249,20 @@ SWChat Core разворачивается на отдельном сервер - Зафиксировано: отдельный FastPanel-сервер можно использовать для доменов, SSL, web-клиента и reverse proxy до Core-сервера. - Зафиксировано: Matrix Core, PostgreSQL, media storage, backups и TURN/STUN лучше держать на отдельном Core-сервере, а не внутри FastPanel. - Зафиксировано: текущий 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 локально работает на новом отдельном сервере. -Следующий этап — публичный HTTPS. - -Допустимые варианты: -1. Caddy на Core-сервере напрямую принимает 80/443 для matrix.stackworks.ru. -2. Отдельный FastPanel-сервер принимает домены/SSL и проксирует matrix.stackworks.ru до Core-сервера. +Текущий выбранный этап: +- отдельный FastPanel reverse proxy сервер; +- публичный SSL через FastPanel; +- Matrix Synapse только на Core. После настройки DNS ожидается: - HTTPS endpoint на https://matrix.stackworks.ru; @@ -256,10 +271,10 @@ SWChat Core локально работает на новом отдельном ## Следующий шаг Следующий этап: -- выбрать схему публичных доменов: прямой Caddy на Core-сервере или отдельный FastPanel reverse proxy; -- настроить DNS A-записи доменов SWChat на выбранный публичный сервер; -- открыть TCP 80/443 до публичного сервера; -- если выбран FastPanel proxy, подготовить отдельные proxy-шаблоны под matrix.stackworks.ru и chat.stackworks.ru; +- настроить DNS A-записи matrix.stackworks.ru и chat.stackworks.ru на FastPanel proxy сервер; +- выпустить SSL в FastPanel для matrix.stackworks.ru; +- добавить Nginx proxy до Core Server:8008; +- ограничить доступ к Core:8008 только FastPanel proxy IP; - проверить HTTPS endpoint через браузер и curl; - создать первого пользователя Matrix; - проверить вход через официальный Element/Matrix клиент;