# MobileModels

The project now uses the repository root as the single runtime entry and can be started directly with Docker Compose.

## Run

```bash
docker compose up --build -d
```

If you want a local test MySQL together with the app:

```bash
docker compose -f docker-compose.yml -f docker-compose.test.yml up --build -d
```

If you need custom MySQL settings, start by copying the env template:

```bash
cp .env.example .env
```

Entry pages:

- `http://127.0.0.1:8123/web/device_query.html`
- `http://127.0.0.1:8123/web/brand_management.html`
- `http://127.0.0.1:8123/web/device_query.html?view=docs`

## Structure

```text
workspace/  upstream raw data, notes, and history files
dist/       build outputs and MySQL seed
docs/       project docs
sql/        MySQL schema
tools/      build, sync, import, and service scripts
web/        UI pages and static assets
```

Notes:

- `workspace/` stores the source workspace
- `docker-compose.yml`, `Dockerfile`, and `tools/` live in the project root
- the main compose file targets remote MySQL usage
- `docker-compose.test.yml` provides a local MySQL only for testing
- generated `dist/device_index.json` and `dist/mobilemodels_mysql_seed.sql` are bind-mounted back to the host project's `dist/` directory
- Compose reads shell env vars and project-root `.env` first, then falls back to defaults in `docker-compose.yml`
- upstream git sync, index rebuild, and MySQL refresh run inside containers
- the project includes its own daily sync scheduler; you can configure the time in the Data Management page or override it via `.env`
- GitHub acceleration by URL prefix is supported through `GITHUB_PROXY_PREFIX` or the Data Management page

More details:

- [docs/README.md](docs/README.md)
- [docs/web-ui.md](docs/web-ui.md)
