# REQUIRED: a long, random shared secret used to authenticate sync clients.
# Generate one, e.g.:  openssl rand -hex 32
# The server refuses to start with this placeholder or a value shorter than 24 chars.
SYNC_TOKEN=CHANGE_ME_generate_a_long_random_secret

PORT=12342

# REQUIRED S3 / S3-compatible (e.g. MinIO) connection. No defaults are assumed —
# the server fails to start if endpoint / access key / secret key is missing.
S3_ENDPOINT=http://localhost:8987
S3_REGION=us-east-1
S3_ACCESS_KEY_ID=CHANGE_ME
S3_SECRET_ACCESS_KEY=CHANGE_ME
S3_BUCKET=donut-sync
S3_FORCE_PATH_STYLE=true

# The address Donut Browser is sent to for file transfers. Set this whenever
# S3_ENDPOINT is only reachable from the server — running MinIO in the same
# compose file makes S3_ENDPOINT a container name like http://minio:9000, which
# resolves on the container network and nowhere else. Presigned URLs are signed
# against the host they name, so leaving this unset there hands every client a
# URL it cannot open: /health and /readyz stay green while every transfer fails.
# Defaults to S3_ENDPOINT, which is correct when storage is already public.
# S3_PUBLIC_ENDPOINT=https://storage.example.com
