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

+2 -2
View File
@@ -21,9 +21,9 @@ echo ⚠️ Make sure MongoDB and Redis are running!
echo.
REM Start backend
echo 🚀 Starting Backend (Express.js)...
echo 🚀 Starting Backend (Rust)...
cd backend
start "Podcastic Backend" npm run dev
start "Podcastic Backend" cmd /c "set PORT=5000&& cargo run"
cd ..
timeout /t 2 /nobreak