Add Docker as the primary way to build and run gausse

Dockerfile (non-root user, UID 1000 to match typical host users so bind
mounts don't end up root-owned) + docker-compose.yml with a ./results
volume for the SQLite database and reports that Stage 5/6 will write.
Verified by actually building the image and running the full test suite
and CLI inside the container, not just writing the files and assuming
they work.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
jze9
2026-07-06 20:17:12 +05:00
parent f22fd89612
commit acf846ab29
7 changed files with 60 additions and 6 deletions

View File

@@ -5,16 +5,23 @@
Полный план и чек-лист этапов — в [PLAN.md](PLAN.md).
## Установка
## Установка (Docker — основной способ)
```bash
docker compose build
docker compose run --rm --entrypoint pytest gausse -q # тесты
docker compose run --rm gausse sweep --n 1000 # CLI (после реализации Этапа 6)
```
Результаты (SQLite, отчёты) должны сохраняться в `./results`, примонтированный
в контейнер как `/app/results` (см. `docker-compose.yml`), чтобы переживать
пересборку образа.
## Установка без Docker (локальная разработка)
```bash
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
```
## Тесты
```bash
pytest
```