feat: add Docker setup and CI workflows for headless server
Some checks failed
Build and push Docker image (Gitea) / build (push) Failing after 2m12s

This commit is contained in:
2026-09-01 19:55:28 +07:00
parent 4af0dd0685
commit f7391a6971
10 changed files with 351 additions and 1 deletions

View File

@@ -91,5 +91,36 @@ pip install -r requirements.txt
## Приложение для Android
В корне репозитория находится архив `MyApplication6.rar` — проект Android-приложения на Kotlin. Клиент подключается к серверу (`PredictServer.py`) по TCP-сокету, отправляет фотографию и получает результат распознавания.
## Docker / локальная разработка
В репозитории добавлена конфигурация для запуска headless-сервера распознавания лиц в Docker-контейнере (без GUI).
### Быстрый старт
```bash
docker compose up --build
```
После сборки и запуска сервер будет доступен на порту `12345` (адрес `127.0.0.1:12345`).
### Переменные окружения
| Переменная | По умолчанию | Описание |
|-------------|----------------|----------------------------------|
| `HOST` | `0.0.0.0` | Адрес для привязки сокета |
| `PORT` | `12345` | Порт TCP-сервера |
| `MODEL_DIR` | `/app/models` | Каталог с моделями CatBoost |
| `DATA_DIR` | `/data` | Каталог с данными (фотографиями) |
### Важно
- Файлы `.cbm` (catboost_usa.cbm и др.) **не включены** в репозиторий. Поместите их в каталог `./models/` на хосте перед запуском контейнера. Без них контейнер запустится, но распознавание будет недоступно (в логах появится предупреждение).
- Каталоги `./models/` и `./data/` создаются Docker автоматически, если их нет на хосте.
### CI / CD
- **GitHub Actions** — при пуше в ветку `main` автоматически собирает образ и публикует его в `ghcr.io/DrHo1y/UfaHack2024`.
- **Gitea Actions** — аналогичный workflow для Gitea (требует зарегистрированного runner и секрета `GITEA_TOKEN`).
## Благодарности
Для обучения модели использовали [CatBoost](https://catboost.ai/)