mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-28 09:33:46 +00:00
Update README.md
This commit is contained in:
100
README.md
100
README.md
@@ -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` - должен быть без `@`
|
||||
|
||||
Reference in New Issue
Block a user