# Основная цель - выполняет полный цикл обновления и перезапуска всех сервисов all: stop_all git build_all start_all wat # Перезапуск всех сервисов и мониторинг состояния restart_all: docker compose restart && wat # Полная остановка всех сервисов stop_all: docker compose down # Полная пересборка всех сервисов без кэша build_all: docker compose build --no-cache # Запуск всех сервисов в фоновом режиме start_all: docker compose up -d # Целевая команда для обновления сервиса api_bb api_bb: stop_bb git build_bb run_bb wn # Обновление кода из git репозитория git: git pull # Остановка только сервиса api_bb stop_bb: docker compose down api_bb # Пересборка только сервиса api_bb build_bb: docker compose build api_bb --no-cache # Запуск только сервиса api_bb в фоновом режиме run_bb: docker compose up api_bb -d # Подключение к базе данных Бегущий Башкир через psql bb_db: docker exec -it serv_nginx-db-1 sh -c "psql -U postgres -d bb_db # Просмотр логов api_bb в реальном времени api_bb_logs: docker logs api_bb -f # Перезапуск всех сервисов (альтернативная команда) restart: docker compose down && docker compose up -d # Очистка кэша npm npm_clean: npm cache clean --force # Сборка фронтенда Бегущий Башкир bbvue: git cd BB/bbvue && npm run build # Полный цикл обновления фронтенда Бегущий Башкир vue_bb: git npm_clean bbvue wn # Остановка nginx stop_nginx: docker compose down nginx # Пересборка nginx build_nginx: docker compose build nginx --no-cache # Запуск nginx start_nginx: docker compose up nginx -d # Просмотр логов nginx в реальном времени logs_nginx: docker logs nginx -f # Полный цикл обновления nginx nginx: stop_nginx git build_nginx start_nginx logs_nginx # Остановка всех сервисов (альтернативная команда) stop: docker compose down # Пересборка всех сервисов (альтернативная команда) build: docker compose build --no-cache # Запуск всех сервисов (альтернативная команда) start: docker compose up -d --remove-orphans # Полный перезапуск (альтернативная команда) re_all: stop git build start # Остановка Keycloak stop_kk: docker compose down keycloak # Пересборка Keycloak build_kk: docker compose build keycloak --no-cache # Запуск Keycloak start_kk: docker compose up keycloak -d # Просмотр логов Keycloak в реальном времени logs_kk: docker logs keycloak -f # Быстрый перезапуск Keycloak re_kk: git stop_kk start_kk # Полный цикл обновления Keycloak keycloak: git stop_kk build_kk start_kk logs_kk # Сборка easysite с логированием в файл build_es_log: docker-compose build --no-cache easysite 2>&1 | tee build.log # Детальная сборка easysite с прогрессом build_es_log_all: docker-compose build --no-cache --progress=plain easysite # Просмотр логов easysite в реальном времени easysite_logs: docker logs easysite -f # Остановка easysite easysite_stop: docker compose down easysite # Пересборка easysite easysite_build: docker compose build easysite --no-cache # Запуск easysite с проверкой состояния easysite_start: docker compose up easysite -d && docker ps # all easysite: easysite_stop git easysite_build easysite_start easysite_logs # Мониторинг системных ресурсов top: htop # Полный цикл обновления easysite es: easysite_stop git easysite_build easysite_start wn # Остановка analytics stop_analitics: docker compose down analytics # Пересборка analytics build_analititcs: docker compose build analytics --no-cache # Запуск analytics с проверкой состояния start_analytics: docker compose up analytics -d && docker ps # Быстрый перезапуск analytics restart_analytics: docker compose restart analytics # Полный цикл обновления analytics analytics: stop_analitics git build_analititcs start_analytics wn # Остановка certbot stop_cerbot: docker compose down certbot # Пересборка certbot build_certbot: docker compose build certbot --no-cache # Запуск certbot start_certbot: docker compose up certbot -d # Полный цикл обновления certbot certbot: stop_cerbot git build_certbot start_certbot wat # Сборка фронтенда valitovgaziz valitovgaziz_build_spa: git cd valitovgaziz && npm run build # Остановка valitovgaziz stop_valitovgaziz: docker compose down valitovgaziz # Пересборка valitovgaziz build_valitovgaziz: docker compose build valitovgaziz --no-cache # Запуск valitovgaziz start_valitovgaziz: docker compose up valitovgaziz -d # Полный цикл обновления valitovgaziz valitovgaziz: stop_valitovgaziz git build_valitovgaziz start_valitovgaziz wn # Сборка SPA + полный цикл обновления valitovgaziz vue_site: valitovgaziz_build_spa stop_valitovgaziz build_valitovgaziz start_valitovgaziz wn # Мониторинг состояния контейнеров каждые 2 секунды wn: watch -n 2 'docker ps' # Остановка api_yal stop_api_yal: docker compose down api_yal # Пересборка api_yal build_api_yal: docker compose build api_yal --no-cache # Запуск api_yal start_api_yal: docker compose up api_yal -d # Полный цикл обновления api_yal api_yal: stop_api_yal git build_api_yal start_api_yal wn # Остановка yalarba-nuxt stop_yalarba: docker compose down yalarba # Пересборка yalarba-nuxt build_yalarba: docker compose build yalarba --no-cache # Запуск yalarba-nuxt start_yalarba: docker compose up yalarba -d # Полный цикл обновления yalarba-nuxt yalarba: stop_yalarba git build_yalarba start_yalarba wn # ═══════════════════════════════════════════════ # НОВЫЕ ЦЕЛИ: generate-configs, deploy, backup # ═══════════════════════════════════════════════ # Генерация конфигов из sites.yml generate-configs: bash generate-configs.sh # Генерация + рестарт nginx reconfig: generate-configs docker compose restart nginx $(MAKE) wn # Авто-детект изменённых сервисов и деплой только их deploy: git @echo "=== Detecting changes ===" @CHANGED=$$(git diff --name-only HEAD~1 HEAD | grep -oP 'main_dc/\K[^/]+' | sort -u); \ for svc in $$CHANGED; do \ case "$$svc" in \ BB) name="api_bb" ;; \ certbot) name="certbot" ;; \ backup) name="backup" ;; \ gitea) name="gitea" ;; \ *) name="$$svc" ;; \ esac; \ if grep -q "^ $$name:" docker-compose.yml 2>/dev/null; then \ echo " → Rebuilding $$name..."; \ $(MAKE) stop_$$name build_$$name start_$$name 2>/dev/null || \ $(MAKE) stop_$$svc build_$$svc start_$$svc 2>/dev/null || true; \ fi; \ done; \ if echo "$$CHANGED" | grep -q 'sites.yml\|nginx'; then \ echo " → Regenerating configs..."; \ bash generate-configs.sh; \ docker compose restart nginx; \ fi # Ручной запуск бэкапа backup: docker compose exec backup /opt/backup.sh # Ручной запуск бэкапа (разовый контейнер) backup-run: docker compose run --rm backup /opt/backup.sh # Восстановление из бэкапа: make restore [DATE=2026-06-11] restore: docker compose run --rm backup /opt/restore.sh $(DATE) # Gitea — полный цикл обновления gitea: stop_gitea git build_gitea start_gitea wn stop_gitea: docker compose down gitea build_gitea: docker compose build gitea --no-cache start_gitea: docker compose up gitea -d # Gitea Runner — полный цикл gitea-runner: stop_gitea-runner git build_gitea-runner start_gitea-runner wn stop_gitea-runner: docker compose down gitea-runner build_gitea-runner: docker compose build gitea-runner --no-cache start_gitea-runner: docker compose up gitea-runner -d # Gitea first-time setup helper gitea-setup: @echo "=== Gitea Setup ===" @echo "1. Open http://94.41.23.97:3001 in browser" @echo "2. Complete initial setup (DB: SQLite3 is fine)" @echo "3. Create admin user" @echo "4. Create new repository 'tp' and push:" @echo " git remote add gitea http://94.41.23.97:3001/USER/tp.git" @echo " git push -u gitea main" @echo "5. Register runner:" @echo " Settings → Actions → Runners → Create Token" @echo " Update GITEA_RUNNER_REGISTRATION_TOKEN in docker-compose.yml" @echo " Then: docker compose up -d gitea-runner" @echo "6. Add secrets in repo Settings → Actions → Secrets:" @echo " (none needed — runner runs locally)" # Показать все доступные цели help: @echo "=== Make targets ===" @echo "" @echo "Site management:" @echo " generate-configs — generate nginx configs from sites.yml" @echo " reconfig — generate configs + restart nginx" @echo "" @echo "Deploy:" @echo " all — full cycle all services" @echo " deploy — auto-detect changes, rebuild only changed" @echo " — full cycle for one service" @echo "" @echo "Backup:" @echo " backup — run backup via running container" @echo " backup-run — run backup in one-shot container" @echo " restore DATE=... — restore from backup" @echo "" @echo "Gitea:" @echo " gitea — full cycle Gitea" @echo " gitea-runner — full cycle Runner" @echo " gitea-setup — first-time setup instructions" @echo "" @echo "Monitoring:" @echo " wn — watch docker ps" @echo " logs_ — logs for a service" @echo " bb_db — psql into bb_db"