Skip to content

Commit 18dcdd4

Browse files
b0bbywanclaude
andcommitted
doc: document conf.d overrides and systemd service URLs in README
Cover the two new config features added in this branch: drop-in conf.d snippets for layered overrides, and the object form on systemd service entries that surfaces a clickable URL in the dashboard. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 0a79692 commit 18dcdd4

1 file changed

Lines changed: 16 additions & 1 deletion

File tree

README.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,16 @@ Configuration file locations (in order of precedence):
435435
- `/etc/odio-api/config.yaml` (system-wide)
436436
- A default configuration is available in `share/config.yaml`
437437

438+
**Drop-in overrides (`conf.d/`):** any `*.yaml` / `*.yml` file dropped in a `conf.d/` directory next to the loaded config is merged on top of the main config in alphabetical order. Snippets override the main file, so `99-local.yaml` wins over `10-base.yaml`. Use this to layer per-host overrides without touching the base config — typical layout:
439+
440+
```
441+
/etc/odio-api/
442+
├── config.yaml
443+
└── conf.d/
444+
├── 10-services.yaml
445+
└── 99-local.yaml
446+
```
447+
438448
Disabling a backend disables the backend and all its routes.
439449

440450
```yaml
@@ -481,21 +491,26 @@ systemd:
481491
- pulseaudio.service
482492
- mpd.service # see [1]
483493
- shairport-sync.service # see [2]
484-
- snapclient.service # incompatible with mpris
494+
- name: "snapclient.service" # incompatible with mpris
495+
url: "http://<snapserver>:1780"
485496
- spotifyd.service # see [3]
486497
- firefox-kiosk@netflix.com.service # default support for mpris
487498
- firefox-kiosk@youtube.com.service # default support for mpris
488499
- firefox-kiosk@my.home-assistant.io.service
489500
- kodi.service # see [4]
490501
- vlc.service # default support for mpris
491502
- plex.service # see [5]
503+
- name: mympd.service # object form: optional URL exposed in the dashboard
504+
url: ":8080"
492505
```
493506
[1] Install `mpd-mpris` or `mpDris2` for MPRIS support
494507
[2] Check my [article on Medium: Shairport Sync/Airplay with PulseAudio and MPRIS support](https://medium.com/@mathieu-requillart/set-up-a-b83d9c980e75)
495508
[3] Default on desktop; on headless, your spotifyd version [must be built with MPRIS support](https://docs.spotifyd.rs/advanced/dbus.html)
496509
[4] Install [Kodi Add-on: MPRIS D-Bus interface](https://github.com/wastis/MediaPlayerRemoteInterface#)
497510
[5] Maybe supported, untested
498511

512+
Each entry can be a bare service name (string) or an object `{name, url}`; the two forms can be mixed in the same list. When `url` is set, the dashboard renders the service description as a clickable link. The shorthand `:8080` resolves to `<protocol>//<current-host>:8080` client-side, so the link works from any host the dashboard is reached on. `/path` and full URLs are also accepted.
513+
499514
#### Bluetooth
500515

501516
```yaml

0 commit comments

Comments
 (0)