Rust backend for Mimu: Axum + Tokio + PostgreSQL + Redis.
На Windows самый простой вариант — через rustup:
- Установи Rustup (
rustup-init.exe) с официального сайта Rust. - Перезапусти терминал и проверь:
rustc --version
cargo --versionЕсли не хочешь ставить Rust “на систему”, можно работать через WSL2 (Ubuntu) и ставить Rust там — обычно меньше проблем.
docker compose -f server/docker-compose.yml up -dФайл .env в этом репозитории создавать нельзя (workspace block), поэтому используй server/env.example как список переменных и экспортируй их.
Linux/macOS/WSL:
set -a
source server/env.example
set +aWindows PowerShell example:
Get-Content server\env.example | ForEach-Object {
if ($_ -match '^\s*$' -or $_ -match '^\s*#') { return }
$kv = $_.Split('=',2)
[Environment]::SetEnvironmentVariable($kv[0], $kv[1])
}cargo install sqlx-cli --no-default-features --features postgres,rustls
sqlx migrate run --source server/migrationscd server
cargo runGET /healthGET /metricsPOST /auth/register|login|reset-password|refreshGET /users/search,GET /users/{public_id},GET /users/{public_id}/prekeysPOST /users/{public_id}/verify,PUT /users/mePOST /subscriptions/purchase|validate,GET /subscriptions/restore
Для корректной проверки подписок добавлен Ed25519 signing key:
- Клиент при регистрации должен прислать
signing_public_key(base64, 32 байта). POST /subscriptions/purchaseпроверяет подпись над строкой:mimu-sub-v1|{prid_hash}|{tier}
"# mimu-server"