docs: add AGENTS.md with deployment guides and Gitea Actions workflow
All checks were successful
Deploy Dana Medical Site / deploy (push) Successful in 1m9s
All checks were successful
Deploy Dana Medical Site / deploy (push) Successful in 1m9s
This commit is contained in:
parent
121f286016
commit
2c4e374c99
14
.gitea/workflows/deploy.yml
Normal file
14
.gitea/workflows/deploy.yml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
name: Deploy Dana Medical Site
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Run Deploy Script
|
||||||
|
run: |
|
||||||
|
echo "Deployment triggered by Gitea Actions push event."
|
||||||
64
AGENTS.md
Normal file
64
AGENTS.md
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
# Dana Medical (Сайт и сервисы клиники)
|
||||||
|
|
||||||
|
Репозиторий официального веб-сайта клиники «Дана Медикал» (https://danamedical.ru), серверного API и интеграционного сервиса с 1С.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Архитектура проекта
|
||||||
|
|
||||||
|
- **Frontend (`web/`):** React 18, Vite, Tailwind CSS, SSR рендеринг (`scripts/render-page.mjs`).
|
||||||
|
- **Backend API (`cmd/server/`, `internal/`):** Go 1.22+ сервис обработки заявок, онлайн-записи, каталога услуг, врачей и чек-апов.
|
||||||
|
- **Интеграция 1C (`bridge/bridge_1c.py`):** Python-мост для синхронизации слотов расписания, врачей, номенклатуры и создания заявок в 1С:Медицина.
|
||||||
|
- **База данных:** PostgreSQL 16 (данные сохраняются в Docker volume `dana-medical_db-data`).
|
||||||
|
- **Медиафайлы:** сохраняются в volume `dana-medical_media` (монтируется в `/data/media`).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Доступы и репозиторий
|
||||||
|
|
||||||
|
- **Gitea Web UI:** https://git.195-95-133-47.sslip.io/git_admin/dana-medical-site
|
||||||
|
- **Git Remote (SSH):** `ssh://git@git.195-95-133-47.sslip.io:2222/git_admin/dana-medical-site.git`
|
||||||
|
- **Git Remote (HTTPS):** `https://git.195-95-133-47.sslip.io/git_admin/dana-medical-site.git`
|
||||||
|
- **Локальная копия (Mac):** `/Users/kadyrkaragishiev/work/Dana-IT_GA/dana-medical`
|
||||||
|
- **Боевая копия на сервере:** `/home/mikail/dana-medical`
|
||||||
|
|
||||||
|
*Примечание: SSH-ключи для хоста разработчика (MacBook) и сервера (`kadir`) уже зарегистрированы в Gitea, авторизация по SSH работает без паролей.*
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Сервер и окружение
|
||||||
|
|
||||||
|
- **Сервер:** `timechecker-prod` (`195.95.133.47`)
|
||||||
|
- **Пользователи сервера:** `kadir` / `mikail` (оба входят в группу `docker`, gid 110).
|
||||||
|
- **Боевые домены (Caddy Reverse Proxy):**
|
||||||
|
- `https://danamedical.ru` (основной продакшн)
|
||||||
|
- `https://dana.195-95-133-47.sslip.io` (технический preview)
|
||||||
|
- `https://api.danamedical.ru/api/v1/onec/events` (вебхуки 1С)
|
||||||
|
- **Внутренний порт приложения:** `172.17.0.1:8082` (Caddy проксирует запросы на него).
|
||||||
|
- **Секреты и переменные окружения:** хранятся на сервере в `/home/mikail/dana-medical/.env`. Файл находится в `.gitignore` и защищен от перезаписи.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Деплой и обновление (CI/CD)
|
||||||
|
|
||||||
|
В корне репозитория настроен единый скрипт автоматического развертывания `deploy.sh`.
|
||||||
|
|
||||||
|
### Ручной запуск на сервере:
|
||||||
|
```bash
|
||||||
|
/home/mikail/dana-medical/deploy.sh
|
||||||
|
```
|
||||||
|
Скрипт автоматически:
|
||||||
|
1. Затягивает свежие изменения из ветки `main` (`git fetch origin main && git reset --hard origin/main`).
|
||||||
|
2. Собирает Docker-образ бэкенда и веб-части (`docker compose -p dana-medical -f docker-compose.prod.yml build api`).
|
||||||
|
3. Бесшовно перезапускает контейнер API (`up -d api`).
|
||||||
|
4. Проверяет `healthcheck` эндпоинта `/api/v1/health` и подтверждает успешность выкладки.
|
||||||
|
|
||||||
|
### Gitea Actions (CI/CD Runner):
|
||||||
|
На сервере поднят и зарегистрирован `act_runner` (`server-runner` v0.6.1), связанный с локальным инстансом Gitea. Пайплайны описываются в `.gitea/workflows/`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Важные правила безопасности данных
|
||||||
|
1. **Не удалять volumes:** `dana-medical_db-data` и `dana-medical_media` содержат боевые данные и изображения.
|
||||||
|
2. **Не коммитить `.env`:** все секреты БД, токены CRM и параметры интеграции хранятся только локально на сервере.
|
||||||
|
3. **Caddy:** глобальный обратный прокси `timechecker-caddy-1` трогать не нужно — конфигурация сайта вынесена в `/home/kadir/timechecker/current/caddy-custom/dana-medical.caddy`.
|
||||||
Loading…
Reference in New Issue
Block a user