Files, permissions and collaboration — on your own servers
Strong Disk replaces the cloud drive: private drives and shared folders, versions and trash, DOCX, XLSX and PPTX editing together with colleagues, search across text and scans, and a desktop client that works offline. All in one container stack.
- 3 languages
- RU, ET and EN in the UI, emails and the client
- SHA-256
- verification of every uploaded version
- up to 50 GiB
- per file: resumable upload in 16 MiB parts
- 0 external services
- OCR, editors and mail run inside your network
Everything a team needs to work with files
No add-ons or plugins: every feature below is already in the product and covered by tests.
Versions, trash and quotas
Every upload is an immutable version with a SHA-256. Trash with a configurable retention period, a version limit per file, organization and drive quotas that count trash and reservations.
Co-editing
DOCX, XLSX and PPTX open in the browser in ONLYOFFICE or Collabora Online — the engine is chosen per organization. One shared document, versions and conflict copies.
Search across text and scans
PostgreSQL searches names and the text of TXT, code, PDF and office documents. The With OCR mode recognizes scans and images locally, in Russian and English.
Permissions, groups and links
Personal and group permissions with inheritance, “Shared with me”, public links with a password and expiry, notifications on grants and revocations. Administrators do not see private files automatically.
Desktop client and offline
The Rust client syncs a folder both ways, works without a network and catches up when it returns. Selective sync, pause, bandwidth limit, OS trash.
Realtime updates
Lists, counters and notifications update for every member without a reload — SSE on top of PostgreSQL LISTEN/NOTIFY.
Preview and thumbnails
TXT, PDF, images including HEIC, audio and video right in the workspace. Thumbnails of the first PDF page, a video frame and MP3 covers, cached per version.
Phone and tablet
Bottom navigation, a compact grid, uploads through “Add” and a list without horizontal scrolling. Light, dark and system themes.
Protected by default, not by configuration
Access checks live in the API, not in the interface: every file request verifies membership, ownership and granted permissions. Below is what is already on.
- Better Auth: email OTP, 2FA with TOTP and backup codes, devices and sessions with revocation
- Strict CSP with nonces, frame-ancestors, HSTS, Sec-Fetch-Site and SameSite=Strict cookies
- Hashed link tokens, scrypt for link passwords, 32-byte secrets, timing-safe comparison
- Rate limits stored in PostgreSQL and shared by every API replica; separate limits on mail routes
- Device sign-in per RFC 8628 with a client allowlist and server-side token revocation
- Activity log with categories and retention; ZIP import protected against zip-slip
A folder on your computer that always matches the server
The Rust and Tauri 2 client needs no Electron and uses the same design system as the web app. Sign-in happens through a device code in the system browser; the token lives in the Keychain.
- Two-way sync and “Shared with me”
- Full offline mode: an operation queue and wake-up on network
- Conflict copies instead of data loss
- Selective sync, pause for 1 h, 8 h or until morning, bandwidth limit
- Updates with a signed manifest (Ed25519)
- macOS universal and Windows x64, updated through a signed manifest
One compose file and the platform is running
Two images (api and web), PostgreSQL and RustFS, optionally ONLYOFFICE and Collabora. Migrations apply on start, the bucket creates itself, backup and restore are scripts with a completed drill.
cd strong-disk
npm ci && npm run setup
docker compose --env-file .env.prod \
-f compose.prod.yaml up -d --build
curl -fsS https://disk.example.com/api/public/auth-options- Next.js 16
- Fastify 5
- PostgreSQL 18
- RustFS (S3)
- Rust + Tauri 2
- pg-boss
Frequently asked questions
Where are the files stored?
Content lives in S3-compatible storage (bundled RustFS or any other S3); metadata, versions and permissions live in PostgreSQL. Nothing leaves your infrastructure.
Do the editors need a separate server?
ONLYOFFICE and Collabora run as separate containers in the same compose stack. Enable one or both and pick the engine in the organization settings.
How does search in scans work?
OCR runs locally with Tesseract on the API server and only when the With OCR mode is chosen. Results are cached per file version and filtered by access rights.
What about large files?
Uploads go in 16 MiB parts straight to storage, with pause and resume after an interruption. The organization sets the per-file limit — up to 50 GiB.
Are there mobile apps?
The web interface is adapted for phones. A native iOS client is planned; the APIs it needs — device sign-in and the change feed — are already in place.
Ready to try it?
Start the stack locally with five commands or sign in to an existing organization.