Files
simplex-chat/scripts/badge-service/badge_service.ini.example
T
sh b1dc25dc3e badges: service group with multi-use codes (#7578)
* core: cancel the chat callback on interrupt

* badges: add multi-use codes

* badges: add the managed group

* badges: document multi-use codes and the group

* core: sign test badges with whole-second expiry

* badges: rework tracker and reply texts
2026-09-30 08:48:57 +01:00

55 lines
2.2 KiB
Plaintext

[listener]
host = 0.0.0.0
port = 8080
; the built webapp in the image, read as the export source
static_dir = /srv/web
; split deployment: Caddy serves the exported folder; this service is the API and webhooks only.
; Set to on for an all-in-one deployment where this service serves the webapp itself.
serve_webapp = off
; the webapp is written here at boot with the publishable key injected; compose bind-mounts it to a
; host path Caddy serves. Unset it when serve_webapp = on.
webapp_export_dir = /srv/webapp
; on because Caddy proxies /api and /webhooks to this service; without it the rate limiter keys on
; Caddy's address and shares one bucket across all callers
trust_forwarded_for = on
[btcpay]
host = https://btcpay.example.org
api_key = replace-me
store_id = replace-me
webhook_secret = replace-me
expiry_minutes = 60
speed_policy = MediumSpeed
payment_tolerance = 0.5
; optional; omit the whole [stripe] section to disable card payments
[stripe]
; restricted key (rk_): Payment Intents write + Charges read — never a full secret key (sk_)
secret_key = rk_test_replace-me
publishable_key = pk_test_replace-me
; the signing secret of the /webhooks/stripe endpoint configured in the Dashboard
webhook_secret = whsec_replace-me
; minutes the service holds an unpaid card invoice open before it expires it; 1-1440
session_minutes = 60
[poll]
waiting_seconds = 3
idle_seconds = 60
; index is the one clients verify against; private_key is from `simplex-chat badge keygen`.
; To rotate, change both together, once clients trust the new index.
[issuer]
index = 1
private_key = replace-me
; Optional. When present, the service creates and manages one group on its first
; start without --run-cli, and logs its join link once, on the start that creates it.
; The link is a bearer secret that stays valid, so keep that log private. The first
; member to join is promoted to owner, so join right away.
; Moderators can /issue and /bulk codes; admins and owners can also /revoke.
; display_name must be a name the chat core accepts unchanged: one it would spell
; differently stops the whole service, payments included, from starting.
;[group]
;display_name = SimpleX Badges
;description = Welcome to the badges group