---
typesense:
modes:
compose:
enabled: true
swarm:
enabled: true
# nocheck: default-placement-manager engine on-disk search index, node-local in swarm (fsync/lock corruption on NFS)
placement: manager
enabled: true
shared: true
bond: 1
image: typesense/typesense
name: typesense
version: 0.25.2
min_storage: 428MB
backup:
database_routine: true
stop_required: true
cpus: "1.0"
mem_reservation: 512m
mem_limit: 1g
pids_limit: 1024
healthcheck:
test: ["CMD-SHELL", "bash -c 'exec 3<>/dev/tcp/127.0.0.1/8108; printf \"GET /health HTTP/1.0\\r\\n\\r\\n\" >&3; grep -q \"200 OK\" <&3'"]
retries: 18
ports:
local:
typesense: 8108
internal:
typesense: 8108
onion:
# nocheck: onion-flag the search index is queried by the app containers holding its API key, and the apps themselves are served through the onion's port 80
typesense: false
lifecycle: beta
# nocheck: variants-coverage β sso-variant-tor requires the onion on in every variant, so the false polarity has no variant left to live in
tor:
bond: 0.5
enabled: "{{ 'svc-net-tor' in group_names }}"
shared: true # nocheck: dynamic-flag
# nocheck: playwright-service-flag, dynamic-flag infrastructure backup consumer
container_backup: # nocheck: bond-baseline backup host joins outside the variant topology
bond: 1
enabled: "{{ 'svc-bkp-volume-2-local' in group_names }}"
shared: true
# nocheck: variants-coverage the role has a single variant, and the guide edge is not a dimension of it: a second round would differ only by the README replay
docs:
bond: 0.5
enabled: "{{ 'web-app-docs' in group_names }}"
shared: "{{ 'web-app-docs' in group_names }}"