Update README.md

This commit is contained in:
Egor
2026-01-15 20:12:22 +03:00
committed by GitHub
parent 16a93f6cb0
commit 89e7e40229

100
README.md
View File

@@ -157,22 +157,56 @@ services:
### Вариант 2: Проксирование на frontend контейнер
Если хотите использовать готовый Docker контейнер с nginx внутри:
Если хотите использовать готовый Docker контейнер с nginx внутри.
**⚠️ Внимание:** Порт `80` в примерах - это **внутренний порт контейнера** (nginx внутри), не хост-порт!
**⚠️ Важно:**
- Порт `80` в примерах - это **внутренний порт контейнера** (nginx внутри), не хост-порт!
- Контейнеры должны быть в одной Docker сети для связи друг с другом
- Имена контейнеров используются как DNS внутри Docker сети
#### A. Если у вас УЖЕ запущен Caddy/Nginx в Docker:
**Шаг 1:** Узнайте имя Docker сети вашего Caddy/Nginx:
```bash
# Посмотреть сети
docker network ls
# Или узнать сеть конкретного контейнера
docker inspect <имя_caddy_контейнера> | grep NetworkMode
```
**Шаг 2:** Создайте docker-compose.yml для frontend:
docker-compose.yml:
```yaml
services:
cabinet-frontend:
image: ghcr.io/bedolaga-dev/bedolaga-cabinet:latest
container_name: cabinet_frontend
restart: unless-stopped
# Не открываем порты на хосте, только для internal network
# НЕ открываем порты на хосте! Только внутри Docker сети
networks:
- bot_network
networks:
bot_network:
external: true # Используем существующую сеть
name: remnawave-bedolaga-telegram-bot_bot_network # Пример для bedolaga bot
```
**Важно:** Замените имя сети на вашу:
- Если у вас bot + caddy: используйте сеть бота (обычно `<название_проекта>_bot_network`)
- Если отдельный Caddy: узнайте через `docker network ls`
- Если используете Traefik: обычно `traefik` или `web`
**Шаг 3:** Запустите frontend:
```bash
docker compose up -d
```
**Шаг 4:** Добавьте в конфигурацию Caddy/Nginx:
Caddy проксирует на контейнер:
```caddyfile
cabinet.yourdomain.com {
@@ -189,7 +223,7 @@ cabinet.yourdomain.com {
}
```
Или Nginx:
Nginx (добавьте в существующий конфиг):
```nginx
server {
listen 443 ssl http2;
@@ -218,6 +252,38 @@ server {
}
```
**Шаг 5:** Перезагрузите Caddy/Nginx:
```bash
# Для Caddy
docker exec <caddy_container> caddy reload --config /etc/caddy/Caddyfile
# Для Nginx
docker exec <nginx_container> nginx -s reload
```
#### B. Если Caddy/Nginx ещё НЕ запущен:
docker-compose.yml:
```yaml
services:
cabinet-frontend:
image: ghcr.io/bedolaga-dev/bedolaga-cabinet:latest
container_name: cabinet_frontend
restart: unless-stopped
# Можно открыть порт для прямого доступа (для тестирования)
# ports:
# - "3000:80"
networks:
- web
networks:
web:
driver: bridge
```
Затем настройте Caddy/Nginx в той же сети `web`.
## Переменные окружения
### Build-time (используются при сборке)
@@ -271,6 +337,30 @@ bedolaga-cabinet/
2. Контейнеры находятся в одной Docker сети
3. Имя сервиса backend в прокси конфигурации правильное
**Проверка связности контейнеров:**
```bash
# Проверить что frontend доступен из Caddy/Nginx контейнера
docker exec <caddy_container> wget -qO- http://cabinet_frontend:80
# Проверить что backend доступен
docker exec <caddy_container> wget -qO- http://backend_bot:8080/health
# Проверить в какой сети находятся контейнеры
docker inspect cabinet_frontend | grep -A 10 Networks
docker inspect <caddy_container> | grep -A 10 Networks
```
Если контейнеры в разных сетях, подключите их:
```bash
# Подключить frontend к сети Caddy
docker network connect <caddy_network> cabinet_frontend
# ИЛИ подключить Caddy к сети frontend
docker network connect <frontend_network> <caddy_container>
```
### Telegram авторизация не работает
1. Проверьте `VITE_TELEGRAM_BOT_USERNAME` - должен быть без `@`