feat: rewrite backend in Rust (axum)

Replace the Node/Express backend with a Rust implementation that keeps
the same REST API, MongoDB collections and Redis cache keys, so existing
users, subscriptions and progress keep working.

- axum + mongodb + redis, bcrypt and HS256 JWT compatible with old data
- RSS parsing, iTunes discovery/trending, background sync (1h / 4h)
- Docker image now builds a static Rust binary on debian-slim
- CI runs cargo tests before publishing the image
- compose uses pull_policy: always so a restart picks up the new image

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
MichaelandClaude Opus 5.5 committed 2026-10-13 09:34:33 +02:00
1 parent 0a91f6ec2c
commit 1028b7968c
41 files changed
+2280 -2239

No files matched your search

+1 -1
View File
@@ -42,7 +42,7 @@ echo ""
# Start backend in background
echo "→ Backend starting on port 5000..."
cd backend
npm run dev &
PORT=5000 PUBLIC_DIR=../frontend/dist cargo run &
BACKEND_PID=$!
cd ..