services.ymlΒΆ

---
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 }}"