fix: setup.sh dev auto-creates docker-compose.override.yml + BETTER_AUTH_URL
- Create override with port mappings if missing (was gitignored, absent on server) - Force-recreate containers to apply new port mappings - Auto-add BETTER_AUTH_URL to .env if not set
This commit is contained in:
44
setup.sh
44
setup.sh
@@ -1325,6 +1325,35 @@ cmd_reset() {
|
||||
cmd_dev() {
|
||||
log_step "Dev Server — обновление и запуск"
|
||||
|
||||
# 0. Создать docker-compose.override.yml если нет (проброс портов для dev)
|
||||
if [[ ! -f docker-compose.override.yml ]]; then
|
||||
log_info "Создаю docker-compose.override.yml (проброс портов для dev)..."
|
||||
cat > docker-compose.override.yml <<'OVERRIDE'
|
||||
# Локальная разработка — без Traefik, прямые порты
|
||||
# Подхватывается автоматически при `docker compose up`
|
||||
# Для прода: docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d
|
||||
|
||||
services:
|
||||
postgres:
|
||||
ports:
|
||||
- "5432:5432"
|
||||
|
||||
minio:
|
||||
ports:
|
||||
- "9000:9000"
|
||||
- "9001:9001"
|
||||
|
||||
redis:
|
||||
ports:
|
||||
- "6379:6379"
|
||||
|
||||
pgbouncer:
|
||||
ports:
|
||||
- "6432:6432"
|
||||
OVERRIDE
|
||||
log_ok "docker-compose.override.yml создан"
|
||||
fi
|
||||
|
||||
# 1. Убить старые процессы Next.js + освободить порт 3000
|
||||
log_step "1/8 — Очистка старых процессов"
|
||||
local killed=0
|
||||
@@ -1375,7 +1404,8 @@ cmd_dev() {
|
||||
|
||||
# 5. Контейнеры + ожидание здоровья
|
||||
log_step "5/8 — Контейнеры"
|
||||
docker compose up -d postgres minio redis pgbouncer 2>&1 | tail -5
|
||||
# Пересоздать если порты не проброшены (override изменился)
|
||||
docker compose up -d --force-recreate postgres minio redis pgbouncer 2>&1 | tail -5
|
||||
log_ok "Инфра-контейнеры запущены"
|
||||
|
||||
# Ждём PostgreSQL (макс 30 сек)
|
||||
@@ -1449,14 +1479,10 @@ cmd_dev() {
|
||||
[[ -d ".next" ]] && rm -rf .next
|
||||
log_ok "Кеш очищен"
|
||||
|
||||
# Автоопределение LAN IP для auth
|
||||
local lan_ip
|
||||
lan_ip=$(hostname -I 2>/dev/null | awk '{print $1}' || true)
|
||||
if [[ -n "$lan_ip" ]]; then
|
||||
if ! grep -q "^LAN_HOST=" .env 2>/dev/null; then
|
||||
echo "LAN_HOST=${lan_ip}" >> .env
|
||||
log_ok "LAN_HOST=${lan_ip} добавлен в .env"
|
||||
fi
|
||||
# Автоопределение BETTER_AUTH_URL (если не задан)
|
||||
if ! grep -q "^BETTER_AUTH_URL=" .env 2>/dev/null; then
|
||||
echo "BETTER_AUTH_URL=http://localhost:3000" >> .env
|
||||
log_ok "BETTER_AUTH_URL=http://localhost:3000 добавлен в .env"
|
||||
fi
|
||||
|
||||
# Проверка порта 3000
|
||||
|
||||
Reference in New Issue
Block a user