| 1 | # Reasonix Community forum API. Identity from id.reasonix.io; content + anti-abuse |
| 2 | # state in its own D1. First deploy: |
| 3 | # wrangler d1 create reasonix-forum # paste database_id below |
| 4 | # wrangler d1 execute reasonix-forum --remote --file=schema.sql |
| 5 | # wrangler d1 execute reasonix-forum --remote --file=seed.sql |
| 6 | # wrangler deploy |
| 7 | name = "reasonix-forum" |
| 8 | main = "src/index.ts" |
| 9 | compatibility_date = "2026-06-01" |
| 10 | |
| 11 | routes = [{ pattern = "forum.reasonix.io", custom_domain = true }] |
| 12 | |
| 13 | [vars] |
| 14 | # Where the forum web app lives (for CORS + login redirects). |
| 15 | APP_ORIGIN = "https://reasonix.io" |
| 16 | ALLOWED_ORIGINS = "https://reasonix.io,https://www.reasonix.io" |
| 17 | # Shared identity service that resolves the session. |
| 18 | ID_ORIGIN = "https://id.reasonix.io" |
| 19 | # Emails minted as forum admins/moderators on first sign-in. |
| 20 | ADMIN_EMAILS = "359807859@qq.com" |
| 21 | |
| 22 | [[d1_databases]] |
| 23 | binding = "DB" |
| 24 | database_name = "reasonix-forum" |
| 25 | database_id = "294f6daa-6ee5-4c2d-a98f-54b38a1b3ac0" |
| 26 | |
| 27 | # Per-IP throttle for content creation (topics/replies/flags). |
| 28 | [[unsafe.bindings]] |
| 29 | name = "POST_LIMITER" |
| 30 | type = "ratelimit" |
| 31 | namespace_id = "3001" |
| 32 | simple = { limit = 10, period = 60 } |
| 33 |