---
# nocheck: playwright-service-flag β Tor Browser users need third-party assets
# served first-party; deploying tor therefore always deploys the mirror.
# nocheck: dynamic-flag β hard dependency: every tor deployment serves the mirror.
mirror:
bond: 1
enabled: true
shared: true
tor: # nocheck: category-modes
modes:
compose:
enabled: true
swarm:
enabled: true
# nocheck: default-placement-manager node onion ingress: host-published SOCKS/DNS/Trans ports and the HiddenService loopback forward must live on the stack host
placement: manager
bond: 0.5
enabled: true
shared: true
image: debian
version: 13.7-slim
custom: true
name: tor
node: ""
use_entry_guards: true
flavor: public
forwards:
ssh: true
http: true
egress:
enabled: true
timeout_multipliers:
chutney: 2
public: 5
ports:
local:
socks: 9050
trans: 9040
dns: 9053
onion:
# nocheck: onion-flag a SOCKS port anyone can reach is an open proxy, and SocksPolicy cannot refuse it because the forward arrives from the node's own address
socks: false
# nocheck: onion-flag the transparent port takes its destination from the caller's routing, which an onion client does not share
trans: false
# nocheck: onion-flag publishing the resolver would answer recursive queries for anyone holding the onion address
dns: false
min_storage: 100MB
cpus: "1.0"
mem_reservation: 128m
mem_limit: 256m
pids_limit: 128
lifecycle: beta
docs:
bond: 0.5
enabled: "{{ 'web-app-docs' in group_names }}"
shared: "{{ 'web-app-docs' in group_names }}"