Mirrors the existing nextcloud-claude-bot setup but invokes `opencode run` against the local `halo-8000` provider/model. The bot listens on 127.0.0.1:8086, is exposed via the `/_opencode-bot/` location on nc.hoyer.xyz, and uses `@Halo` as its mention trigger in group chats. The opencode config (config/opencode/config.json) is installed into the service's $HOME/.config/opencode/ on each start, so the bot picks up the same provider definition the user uses interactively. The model map keys are renamed to `halo-8000` / `halo-8001` so the canonical `provider/model` reference works without an alias indirection.
35 lines
2.3 KiB
YAML
35 lines
2.3 KiB
YAML
nextcloud-opencode-bot:
|
|
secret: ENC[AES256_GCM,data:TYSUYHzZGvCtJ3aCBS4h73LQHToqDcYV8CNdVqF8NmjdUkxO/6RsXUE3lMR7nE1T8YeJA2F9E3ABLJ71O8WSlg==,iv:Ho0g7HGShHOeso0B+ojwxM8A+P0epFvos/u+fJPZ+zY=,tag:Nk0D/Yt2/tPxCIownuEQnw==,type:str]
|
|
sops:
|
|
age:
|
|
- recipient: age1qur4kh3gay9ryk3jh2snvjp6x9eq94zdrmgkrfcv4fzsu7l6lumq4tr3uy
|
|
enc: |
|
|
-----BEGIN AGE ENCRYPTED FILE-----
|
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjZ1FZUFFicjdKOFRGaTNY
|
|
V0NDa2ZIeXJ4LzY3UU5pRnZlY3lQdFBRcVRrCjNNRFh2aE9vWktmWlFSTjVSRG42
|
|
eFcrTzh3SXhFTTNBbGZBOXg5UkZsRHMKLS0tIDFER21GVWw0L29obU5OYk1GR05C
|
|
Y3I0OFMxb2xPRjQrNVYvcGNNUmE5V28KkqgFKnwU94rFq9hQMKCoY/xG2M7tlhbj
|
|
pjtmQzh36oJ7w7ZOFC/6lShLMD2D8yEPDeqA7idHxVZnAYMf+hbi8g==
|
|
-----END AGE ENCRYPTED FILE-----
|
|
- recipient: age1dwcz3fmp29ju4svy0t0wz4ylhpwlqa8xpw4l7t4gmgqr0ev37qrsfn840l
|
|
enc: |
|
|
-----BEGIN AGE ENCRYPTED FILE-----
|
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmS25iUFVpZTdYcDJRT2NQ
|
|
cFVSWFFaS1V4M2I1UVFLTGdjSFBGdStpc0ZVCmlXZ3FtKzMyV1VJQWZFNzhDR291
|
|
dSt5MUJEZ053TXhQUGNSUVFSNllJOUUKLS0tIGF6TDlPSHIrMkxpaW5LQ2ZOcHlj
|
|
c3I4aXFWUU05REN0SGRlY0UvejJKQkkKM2kiJ/dhDI658xwDFJFXWFdGeSl8bAgU
|
|
MXH8CyZ8f7ZfHQQAzJAtYgXxCLq+CCA/42yiFbFOCpGYJQBeOJgZpQ==
|
|
-----END AGE ENCRYPTED FILE-----
|
|
- recipient: age1cpm9xhgue7sjvq7zyeeaxwr96c93sfzxxxj76sxsq7s7kgnygvcq5jxren
|
|
enc: |
|
|
-----BEGIN AGE ENCRYPTED FILE-----
|
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxSTJDS2lSUUlTRzJPTWpa
|
|
R1IxSGdNZnpqZXpRcE13THdERHN0RUVZclNvCm1WZEx4VFk5dFBhNERINjNZNEds
|
|
OVFHS2JXemUvZEJERkg0SGs0elBDZWcKLS0tIGpKRGF2Mnc5U00zT3JZWnhJZjE0
|
|
bFRwajlkaEhFcjJNaENuOFArS2EwVEkKt4t8Zoa20JJC4IHMNsVK7yvst2dJ9dQl
|
|
PMJ/ZUgGcE1fkH1FjfQP/e3LBnxovo+ep3NXFnP1zwje0c+tsXMX6g==
|
|
-----END AGE ENCRYPTED FILE-----
|
|
lastmodified: "2026-05-13T13:07:22Z"
|
|
mac: ENC[AES256_GCM,data:rnhSDTFAUTty4cMPw8hOrElcVm++kazQaeeVkApovwFwYppMlhanEV5kKRvPEqb53boNoP77K/KlhKVtD6gJprAvCSZhQ7N08AvIBrl/3fqOifSXh/iz/I5HEdwxFSRoHirlb1ZWcdvZRv/owOBtfZZ9S+ul5o89Og7g2Cf+hVg=,iv:DvBtkfYAxk4P1HvHSZANFdJTeDp6W22YW35vvJB5a/A=,tag:E7luVwe0uEXSmJl+GWGGmA==,type:str]
|
|
unencrypted_suffix: _unencrypted
|
|
version: 3.12.1
|