No description
- TypeScript 51.2%
- Python 36.4%
- Astro 9.4%
- Dockerfile 1.7%
- CSS 1%
- Other 0.3%
|
All checks were successful
Build Container / Build Container (push) Successful in 1m27s
|
||
|---|---|---|
| .forgejo/workflows | ||
| api | ||
| app | ||
| .dev.env | ||
| .envrc.dist | ||
| .gitignore | ||
| Containerfile | ||
| dev.Caddyfile | ||
| README.md | ||
Dooris
Dooris setup using HomeMatic with Web UI, API and OIDC integration.
Based on prior work of 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 but if you don't use that, take the following steps:
- Go to the api/ directory
- Run
uv venvto create a python virtual environment - Install all dependencies of the dooris project into that virtual environment with
uv sync - Run a development server
watchexec -r -w src/ uv run dooris-api