No description
  • Rust 81.9%
  • JavaScript 14.3%
  • Shell 1.6%
  • CSS 0.9%
  • Dockerfile 0.6%
  • Other 0.7%
Find a file
wuast94 70c933b1a2
All checks were successful
Release / Analyze (push) Successful in 19s
Release / Build (push) Successful in 20m46s
Release / Release (push) Successful in 20s
Merge pull request 'chore: lock file maintenance' (#224) from updatarr/lock-file-maintenance-a692014015 into main
2026-08-14 16:20:04 +02:00
.cargo chore: format PATH variable construction in SBOM upload test 2026-05-14 17:11:46 +02:00
.devcontainer perf(build): separate test and release pipelines 2026-07-14 10:05:15 +02:00
.forgejo/workflows chore: update github actions 2026-08-02 01:55:41 +02:00
.githooks chore: first commit 2025-11-29 09:48:03 +01:00
docs/security perf(build): separate test and release pipelines 2026-07-14 10:05:15 +02:00
scripts chore: remove dependency-track sbom tooling 2026-07-08 19:32:35 +02:00
src refactor(web): modularize runtime configuration UI 2026-08-02 18:07:41 +02:00
tests/fixtures/audio chore: remove dependency-track sbom tooling 2026-07-08 19:32:35 +02:00
.dockerignore chore: migrate config path from /config to /runtime directory 2026-05-04 20:40:39 +02:00
.gitignore fix(main): trigger rebuild (harbor storage fixed) 2026-04-04 07:24:07 +02:00
.updatarr.yaml Update .updatarr.yaml 2026-07-29 07:48:33 +02:00
Cargo.lock chore: lock file maintenance 2026-08-14 15:46:03 +02:00
Cargo.toml chore: update rust dependencies 2026-08-11 17:13:26 +02:00
CHANGELOG.md chore(release): v1.1.6 [skip ci] 2025-12-08 01:07:39 +00:00
cliff.toml ci: standardize forgejo workflows 2026-06-21 18:11:19 +02:00
CONTRIBUTING.md chore(release): expand semantic-release configuration with explicit release rules 2025-12-03 07:53:07 +01:00
Dockerfile chore: update cargo-chef to 0.1.78 2026-08-12 18:29:11 +02:00
Justfile fix(ci): restore visible pull request gates 2026-07-21 16:52:09 +02:00
README.md chore: remove Claude AI configuration files 2026-05-04 20:35:58 +02:00
renovate.json perf(build): separate test and release pipelines 2026-07-14 10:05:15 +02:00
rust-toolchain.toml chore: update rust toolchain 2026-07-21 17:24:31 +02:00
todo.md chore: add configmap.yaml to gitignore 2026-03-21 02:01:29 +01:00
VERSION chore(release): v1.6.1 [skip ci] 2026-05-15 02:23:07 +02:00

VRDS

A modular Matrix automation client with a WebUI-first setup flow.

Features

  • WebUI setup — Container starts without a config file, creates the encoded runtime store, and serves the setup UI.
  • Commands — Bot commands (!wetter, !zusammenfassung, !bild, etc.) with live-editable prompts and simple runtime commands.
  • Voice — Transcribe voice messages with Whisper and summarize long ones with LLM.
  • Media — Archive media to WebDAV and sync WhatsApp contacts to CardDAV.
  • Webhooks — Forward ChangeDetection.io alerts or any JSON payload to Matrix rooms.
  • Email — Poll IMAP and send LLM-summarized emails to Matrix.

All runtime configuration is managed through the WebUI/API.

Quick Start

docker run -p 3000:3000 -v ./runtime:/runtime -v ./data:/data ghcr.io/wuast94/vrds:latest

Open http://localhost:3000/setup.

VRDS creates runtime/config.snapshot.json on first boot. The file is structured JSON, but every leaf value is base64 encoded, including prompts, URLs, room IDs, booleans, numbers, and secrets. Base64 is not encryption; protect the runtime directory like any other secret volume.

WebUI changes are written through VRDS APIs and applied live. The process is not restarted for configuration changes.

Runtime Storage

Default runtime directory:

runtime/
  config.snapshot.json
  config.events.jsonl

Set RUNTIME_CONFIG_DIR to use another mounted directory.

Legacy YAML import is only used when CONFIG_PATH explicitly points at an existing file. VRDS does not create or require a YAML config file.

Building

cargo build --release
just check

License

MIT