database: driver: sqlite3 # SQLite DSN 说明: # - file:tss.db => 相对路径,在当前目录创建 tss.db # - cache=shared => 启用共享缓存,提高性能 # - _fk=1 => 启用外键约束 # - mode=rwc => 如果数据库不存在则创建(read-write-create) dsn: "file:tss.db?cache=shared&_fk=1&mode=rwc" server: port: 8080 host: localhost jwt: secret: your-jwt-secret-here # 在生产环境中应该使用环境变量 expiration: 24h auth: registration: enabled: false # 是否允许注册 message: "Registration is currently disabled. Please contact administrator." # 禁用时的提示信息 storage: type: local # local or s3 local: root_dir: "./storage/media" s3: region: "us-east-1" bucket: "your-bucket-name" access_key_id: "your-access-key-id" secret_access_key: "your-secret-access-key" endpoint: "" # Optional, for MinIO or other S3-compatible services custom_url: "" # Optional, for CDN or custom domain (e.g., https://cdn.example.com/media) proxy_s3: false # If true, backend will proxy S3 requests instead of redirecting upload: limits: image: max_size: 10 # MB allowed_types: - image/jpeg - image/png - image/gif - image/webp - image/svg+xml video: max_size: 500 # MB allowed_types: - video/mp4 - video/webm audio: max_size: 50 # MB allowed_types: - audio/mpeg - audio/ogg - audio/wav document: max_size: 20 # MB allowed_types: - application/pdf - application/msword - application/vnd.openxmlformats-officedocument.wordprocessingml.document - application/vnd.ms-excel - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet - application/zip - application/x-rar-compressed - text/plain - text/csv logging: level: debug format: console rate_limit: enabled: true requests: 100 duration: 1m access_log: enabled: true format: combined output: stdout