Name: img_infinite_canvas-api Host: 0.0.0.0 Port: 8888 Timeout: 1200000 MaxBytes: 33554432 Storage: Driver: postgres DataSource: postgres://canvas:canvas@postgres:5432/canvas?sslmode=disable Cache: Driver: redis Addr: redis:6379 Password: "" DB: 0 TTLSeconds: 300 JobQueue: Driver: asynq Addr: redis:6379 Password: "" DB: 0 Queue: default Concurrency: 10 MaxRetry: 3 TimeoutSeconds: 900 ShutdownTimeoutSeconds: 30 Realtime: Driver: redis Addr: redis:6379 Password: "" DB: 0 ChannelPrefix: canvas:realtime FallbackPollMillis: 10000 Outbox: Driver: postgres DataSource: postgres://canvas:canvas@postgres:5432/canvas?sslmode=disable PollMillis: 1000 BatchSize: 100 Auth: Region: global RegionMode: manual TokenSecret: local-dev-change-me TokenTTLSeconds: 604800 RefreshTTLSeconds: 2592000 CodeTTLSeconds: 600 DevReturnCode: true Email: Driver: none # none|smtp Host: "" Port: 587 Username: "" Password: "" FromName: hello FromEmail: hello@auth.moteva.local BrandName: Moteva UseTLS: false StartTLS: true InsecureSkipVerify: false TimeoutSeconds: 10 Turnstile: Enabled: true SiteKey: "1x00000000000000000000AA" SecretKey: "1x0000000000000000000000000000000AA" SecretKeyEnv: TURNSTILE_SECRET_KEY SiteVerifyURL: https://challenges.cloudflare.com/turnstile/v0/siteverify TimeoutSeconds: 5 Google: ClientID: "" TokenInfoURL: https://oauth2.googleapis.com/tokeninfo TimeoutSeconds: 8 Wechat: AppID: "" AppSecret: "" RedirectURI: "" Scope: snsapi_login AuthURL: https://open.weixin.qq.com/connect/qrconnect TokenURL: https://api.weixin.qq.com/sns/oauth2/access_token TimeoutSeconds: 8 Agent: Driver: pi Text: Driver: vision Model: gpt-5.4-mini TimeoutSeconds: 240 Planner: Driver: vision Model: gpt-5.5 TimeoutSeconds: 240 ObjectStorage: Driver: minio Bucket: canvas-assets Endpoint: minio:9000 Region: us-east-1 AccessKey: canvas SecretKey: canvas-secret PublicBase: http://localhost:19000/canvas-assets UseSSL: false ExpiresIn: 900