# arcanesync cloud sync backend for the arcanegram telegram client fork. node 24 + hono + drizzle + postgres. validates telegram mini app `initData` per request. ## quick start ```bash cp .env.example .env # fill BOT_TOKEN with your bot's token docker compose up -d postgres pnpm install pnpm db:migrate pnpm dev ``` ## endpoints - `GET /health` — liveness - `GET /miniapp` — telegram mini app stub (registered with botfather) - `GET /sync` — auth: `Authorization: tma `. returns `{version, data}`. - `PUT /sync` — auth as above. body `{baseVersion, patch}`. returns 200 `{version,data}` or 409 `{version,data}`. ## env | var | default | meaning | |---|---|---| | `PORT` | `3000` | http port | | `DATABASE_URL` | required | postgres dsn | | `BOT_TOKEN` | required | telegram bot token (mini-app-enabled) | | `AUTH_DATE_MAX_AGE_SECONDS` | `86400` | initData freshness window | | `MAX_PAYLOAD_BYTES` | `65536` | per-PUT payload cap |