spark-server/deploy/docker/config.docker.yaml
zhr ae9a71034d feat: implement Spark IM V3 modular monolith
Add HTTP /v1 MVC, TCP send path, groups with server-side member-avatar collage, object-storage upload, and friends/favorites around the architecture-v3 layout.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 19:52:11 +08:00

94 lines
1.6 KiB
YAML

env: prod
server:
http:
addr: "0.0.0.0:8080"
tcp:
addr: "0.0.0.0:9000"
proxy_protocol: true
tls:
cert_file: ""
key_file: ""
max_frame_size: 65536
idle_timeout: 120s
keepalive: 30s
recv_buffer: 16777216
send_buffer: 16777216
multicore: true
compress_min_size: 512
id:
snowflake_worker_id: 1
log:
level: info
encoding: json
console: true
file:
path: "logs/spark-server.log"
max_size_mb: 100
max_backups: 7
max_age_days: 7
compress: true
mysql:
dsn: "spark:@tcp(mysql:3306)/spark?charset=utf8mb4&parseTime=True&loc=Local"
slow_threshold: 200ms
log_level: ""
max_open_conns: 64
max_idle_conns: 16
conn_max_lifetime: 30m
conn_max_idle_time: 10m
redis:
addr: "redis:6379"
username: ""
password: ""
db: 0
deliver_queue_key: "deliver:queue"
deliver_processing_key: "deliver:processing"
deliver_done_prefix: "deliver:done:"
jwt:
secret: "dev-only-change-me"
issuer: "spark-im"
ttl: 168h
refresh_ttl: 720h
denylist_prefix: "denylist:"
refresh_prefix: "refresh:"
taskpool:
size: 256
queue: 1024
deliver:
workers: 8
take_timeout: 5s
done_ttl: 10m
session:
outbound_queue_size: 1024
rate_limit:
message_per_second: 20
auth_per_second: 5
sync_inbox_per_minute: 60
sync_messages_per_minute: 120
history_per_minute: 200
upload_per_second: 10
message:
max_content_size: 65536
sync_limit: 200
msgid_expire_ms: 300000
object_storage:
endpoint: "rustfs:9000"
access_key: ""
secret_key: ""
bucket: "spark"
region: "us-east-1"
use_ssl: false
presign_ttl: 15m
chat_expire_days: 365