All checks were successful
Build Container / Build Container (push) Successful in 1m32s
40 lines
1.6 KiB
Markdown
40 lines
1.6 KiB
Markdown
# Dooris
|
|
|
|
Dooris setup using HomeMatic with Web UI, API and OIDC integration.
|
|
Based on prior work of [hmdooris](https://git.hamburg.ccc.de/CCCHH/hmdooris).
|
|
|
|
Project structure:
|
|
|
|
```
|
|
├── api # Python application interacting with HomeMatic and providing the API.
|
|
└── app # Web UI
|
|
```
|
|
|
|
## Configuration
|
|
|
|
The final application can be configured either via CLI arguments or via environment variables.
|
|
If both are given, the CLI flag takes precedence.
|
|
|
|
THe following table lists all available configuration parameters:
|
|
|
|
| CLI Flag | Environment Variable | Required? | Default Value |
|
|
| -------- | -------------------- | :-------: | ------------- |
|
|
| `--openid-issuer` | `DOORIS_OPENID_ISSUER` | Yes | *None* |
|
|
| `--openid-scope` | `DOORIS_OPENID_SCOPE` | No | `openid profile` |
|
|
| `--openid-client-id` | `DOORIS_OPENID_CLIENT_ID` | Yes | *None* |
|
|
| `--openid-client-secret` | `DOORIS_OPENID_CLIENT_SECRET` | Yes | *None* |
|
|
| `--base-url` | `DOORIS_BASE_URL` | Yes | *None* |
|
|
| `--serve-static` | `DOORIS_SERVE_STATIC` | No | *None* |
|
|
| `--ccujack-url` | `DOORIS_CCUJACK_URL` | No | `https://hmdooris-ccu.ccchh.net:2122` |
|
|
| `--ccujack-user` | `DOORIS_CCUJACK_USER` | Yes | *None* |
|
|
| `--ccujack-password` | `DOORIS_CCUJACK_PASSWORD` | Yes | *None* |
|
|
|
|
## API Development
|
|
|
|
Most things should automatically be set up with the included [direnv script](./.envrc.dist) but if you don't use that, take the following steps:
|
|
|
|
1. Go to the api/ directory
|
|
2. Run `uv venv` to create a python virtual environment
|
|
3. Install all dependencies of the dooris project into that virtual environment with `uv sync`
|
|
4. Run a development server `watchexec -r -w src/ uv run dooris-api`
|
|
|