Files
OpenFlare/config.docker.yaml
T
2026-06-08 23:14:57 +08:00

121 lines
4.1 KiB
YAML

# wavelet — Docker Compose 专用配置
# 此文件供 docker-compose 挂载使用,主机名指向 Docker 服务名
# 如需自定义,请复制此文件并修改,然后在 docker-compose.yml 中更新挂载路径
# ─── Application ────────────────────────────────────────────────────────────────
app:
app_name: "wavelet"
env: "production"
addr: ":8000"
node_id: 1
graceful_shutdown_timeout: 30
session_cookie_name: "wavelet_session_id"
session_secret: "change-me-to-a-random-string-in-production"
session_domain: ""
session_age: 86400
session_secure: true
session_http_only: true
api_prefix: "/api"
# ─── PostgreSQL ─────────────────────────────────────────────────────────────────
database:
enabled: true
host: "postgres" # Docker 服务名
port: 5432
username: "postgres"
password: "postgres"
database: "wavelet"
max_idle_conn: 16
max_open_conn: 128
conn_max_lifetime: 1800
conn_max_idle_time: 600
log_level: "info"
ssl_mode: "disable"
time_zone: "Asia/Shanghai"
application_name: "wavelet-server"
prefer_simple_protocol: false
search_path: "public"
statement_cache_capacity: 256
default_query_exec_mode: "cache_statement"
slow_threshold: 200ms
# ─── Redis ──────────────────────────────────────────────────────────────────────
redis:
enabled: true
addrs:
- "redis:6379" # Docker 服务名
username: ""
password: ""
db: 0
cluster_mode: false
master_name: ""
key_prefix: "wavelet:"
pool_size: 100
min_idle_conn: 10
dial_timeout: 5
read_timeout: 3
write_timeout: 3
max_retries: 3
pool_timeout: 4
conn_max_idle_time: 300
# ─── ClickHouse (optional) ──────────────────────────────────────────────────────
clickhouse:
enabled: false
hosts:
- "clickhouse:9000"
username: "default"
password: ""
database: "wavelet"
max_idle_conn: 10
max_open_conn: 100
conn_max_lifetime: 3600
dial_timeout: 5
block_buffer_size: 10
# ─── Logging ────────────────────────────────────────────────────────────────────
log:
level: "info"
format: "json"
output: "stdout"
file_path: ""
max_size: 100
max_age: 30
max_backups: 10
compress: true
# ─── Task Scheduler (Cron) ──────────────────────────────────────────────────────
scheduler:
cleanup_unused_uploads_task_cron: "0 */2 * * *"
# ─── Async Task Worker ──────────────────────────────────────────────────────────
worker:
concurrency: 20
strict_priority: false
queues:
- name: webhook
priority: 10
- name: whitelist_only
priority: 5
- name: default
priority: 3
# ─── OpenTelemetry Tracing ──────────────────────────────────────────────────────
otel:
sampling_rate: 0.0 # Docker 环境默认关闭 tracing,避免无 Collector 时报错
# ─── S3-Compatible File Storage ─────────────────────────────────────────────────
s3:
enabled: false
endpoint: ""
region: "auto"
bucket: ""
access_key_id: ""
secret_access_key: ""
path_style: false
key_prefix: ""
cdn_url: ""
local_cache:
enabled: false
cache_dir: "./s3_cache"