cloud sync backend for the arcanegram
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| .vscode | ||
| src | ||
| .dockerignore | ||
| .editorconfig | ||
| .env.example | ||
| .gitignore | ||
| .tokeignore | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| docker-compose.yml | ||
| Dockerfile | ||
| drizzle.config.ts | ||
| eslint.config.mjs | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| tsconfig.json | ||
arcanesync
cloud sync backend for the arcanegram telegram client fork.
node 24 + hono + drizzle + postgres. validates telegram mini app initData per request.
quick start
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— livenessGET /miniapp— telegram mini app stub (registered with botfather)GET /sync— auth:Authorization: tma <initData>. 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 |