feat(server): build axum web server for licensing, landing page, and updates

This commit is contained in:
Stevan Freeborn
2026-07-23 11:59:38 -05:00
parent 3b873f41a7
commit 792e6bd859
40 changed files with 3526 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
# CleanCopy Server
Axum web backend for CleanCopy. Handles license activation, Stripe webhooks, release downloads, and the Tauri updater endpoint.
## Routes
| Method | Path | Description |
|--------|------|-------------|
| GET | `/` | Landing page |
| GET | `/docs` | Documentation |
| GET | `/docs/terms` | Terms of Service |
| GET | `/docs/refunds` | Refund Policy |
| GET/POST | `/api/activate` | License activation (Ed25519 signing) |
| POST | `/api/webhook` | Stripe webhook handler |
| GET | `/releases/download/{version}/{arch}` | Release binary download |
| GET | `/updates/{target}/{arch}/{version}.json` | Tauri updater manifest |
| GET | `/healthz` | Health check |
## Local Development
```bash
cargo run -p clean-copy-server
```
Server listens on `0.0.0.0:3000`.
## Docker
```bash
docker build -t clean-copy-server .
docker run -p 3000:3000 clean-copy-server
```