Домен і HTTPS
У продакшні basedb має обслуговуватися через HTTPS: його сеансові cookie мають атрибут
Secure і префікс __Host-, а браузер приймає їх через HTTP лише на localhost.
Образ уже обслуговує все за однією адресою — інтерфейс, API під /api, сервер MCP під
/mcp. Лишається тільки поставити його за HTTPS-проксі: docker-compose.yml надає такий
проксі, Caddy, який сам отримує й поновлює свій сертифікат Let’s Encrypt.
Налаштування
Section titled “Налаштування”-
Спрямуйте DNS вашого домену на сервер; відкрийте порти 80 і 443.
-
У
.env:Fenêtre de terminal BASEDB_DOMAIN=basedb.example.comBASEDB_PUBLIC_URL=https://basedb.example.com -
Запустіть із профілем
https:Fenêtre de terminal docker compose --profile https up -d
Порт 3000 і далі відкрито лише на 127.0.0.1: увесь зовнішній трафік іде через Caddy.
Навіщо ці змінні
Section titled “Навіщо ці змінні”BASEDB_DOMAIN: домен, для якого Caddy запитує сертифікат.BASEDB_PUBLIC_URL: адреса повернення після входу через OIDC, яку посимвольно порівнюють з адресою, зареєстрованою в постачальника ідентифікації.- Caddy встановлює
X-Forwarded-Forна основі реальної адреси відвідувача, а basedb довіряє йому, коли він надходить із приватної мережі: тоді обмеження частоти запитів API (вхід, опубліковані форми) рахуються для кожного відвідувача окремо.
Інший проксі
Section titled “Інший проксі”Nginx, Traefik чи балансувальник навантаження теж підійдуть: спрямовуйте весь трафік домену
на порт 3000 контейнера без буферизації відповідей (сервер MCP і оновлення в реальному часі
передають свої відповіді потоком) і переконайтеся, що проксі замінює
X-Forwarded-For, а не доповнює його.
basedb — вільне програмне забезпечення від Eodia, студії ШІ-орієнтованого програмного забезпечення.