Files
simplex-chat/scripts/badge-service/badge_service.ini.example
T

77 lines
3.5 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
; optional; without it every App Store receipt is answered provider_not_configured, which the app retries later.
; root_certificate is https://www.apple.com/certificateauthority/AppleRootCA-G3.cer, in DER;
; uncomment its mount in compose.yml.
;[apple]
;bundle_id = chat.simplex.app
;root_certificate = /etc/simplex-badge-service/AppleRootCA-G3.cer
; optional; without it every Play receipt is answered provider_not_configured, which the app retries later.
; service_account_file is the JSON key of a service account with the Play Console permissions "View
; financial data, orders, and cancellation survey responses" and "Manage orders and subscriptions", to
; read and acknowledge purchases. Without the second, a purchase the app has not already acknowledged
; itself is answered internal until the permission is granted. Uncomment its mount in compose.yml; the file must be readable by the service's user alone.
;[google]
;package_name = chat.simplex.app
;service_account_file = /etc/simplex-badge-service/play-service-account.json
; 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
; local testing only, in both run modes: accepts any well-formed App Store or Play receipt without
; verifying it, so anyone who can reach this service can mint badges. The service refuses to start
; with this on beside an [apple] or [google] section.
[dev]
accept_unverified_store_receipts = off