mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-30 02:23:47 +00:00
Update README.md
This commit is contained in:
100
README.md
100
README.md
@@ -157,22 +157,56 @@ services:
|
|||||||
|
|
||||||
### Вариант 2: Проксирование на frontend контейнер
|
### Вариант 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
|
```yaml
|
||||||
services:
|
services:
|
||||||
cabinet-frontend:
|
cabinet-frontend:
|
||||||
image: ghcr.io/bedolaga-dev/bedolaga-cabinet:latest
|
image: ghcr.io/bedolaga-dev/bedolaga-cabinet:latest
|
||||||
container_name: cabinet_frontend
|
container_name: cabinet_frontend
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
# Не открываем порты на хосте, только для internal network
|
# НЕ открываем порты на хосте! Только внутри Docker сети
|
||||||
networks:
|
networks:
|
||||||
- bot_network
|
- 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 проксирует на контейнер:
|
Caddy проксирует на контейнер:
|
||||||
```caddyfile
|
```caddyfile
|
||||||
cabinet.yourdomain.com {
|
cabinet.yourdomain.com {
|
||||||
@@ -189,7 +223,7 @@ cabinet.yourdomain.com {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Или Nginx:
|
Nginx (добавьте в существующий конфиг):
|
||||||
```nginx
|
```nginx
|
||||||
server {
|
server {
|
||||||
listen 443 ssl http2;
|
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 (используются при сборке)
|
### Build-time (используются при сборке)
|
||||||
@@ -271,6 +337,30 @@ bedolaga-cabinet/
|
|||||||
2. Контейнеры находятся в одной Docker сети
|
2. Контейнеры находятся в одной Docker сети
|
||||||
3. Имя сервиса backend в прокси конфигурации правильное
|
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 авторизация не работает
|
### Telegram авторизация не работает
|
||||||
|
|
||||||
1. Проверьте `VITE_TELEGRAM_BOT_USERNAME` - должен быть без `@`
|
1. Проверьте `VITE_TELEGRAM_BOT_USERNAME` - должен быть без `@`
|
||||||
|
|||||||
Reference in New Issue
Block a user