No description
  • TypeScript 51.2%
  • Python 36.4%
  • Astro 9.4%
  • Dockerfile 1.7%
  • CSS 1%
  • Other 0.3%
Find a file
2026-05-15 11:47:35 +02:00
.forgejo/workflows migrate ci to direct kaniko push 2026-05-14 20:21:44 +02:00
api document configuration variables in README.md 2026-05-15 08:44:28 +02:00
app use details tag for chat 2026-05-15 11:47:35 +02:00
.dev.env api: configure ccujack connection via established config mechanism 2026-05-15 08:36:51 +02:00
.envrc.dist improve project structure for api 2026-05-03 22:08:05 +02:00
.gitignore update api, operate doors 2026-05-14 20:30:23 +02:00
Containerfile assemble docker image with frontend and api 2026-05-14 20:56:28 +02:00
dev.Caddyfile add openapi.json to dev caddyfile 2026-05-14 20:30:23 +02:00
README.md document configuration variables in README.md 2026-05-15 08:44:28 +02:00

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:

  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