5.8 KiB
title: OxiCloud created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, cloud-storage, rust, performance, modern, minimal] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=Self-hosted+Cloud, https://github.com/digitalsparky/oxicloud]
🦀 OxiCloud
Un cloud storage minimaliste et ultra-performant en Rust : conçu pour offrir une alternative moderne, légère et rapide à app-nextcloud et app-cloudreve, avec une empreinte mémoire ridicule, un démarrage en une fraction de seconde et une API simple, à l'image de l'écosystème Rust actuel.
📋 Informations Générales
| Métadonnée | Valeur |
|---|---|
| Site web | oxicloud.io |
| GitHub | OxiCloud/oxicloud |
| License | MIT |
| Langage | Rust (Axum + Tokio) |
| Étoiles | 1 080 ⭐ |
| Dernière MAJ | 2026-05-25 |
| Catégorie | cat-cloud-storage |
📝 Description
OxiCloud fait partie de la nouvelle vague de projets cloud storage écrits en Rust, profitant de la mémoire sûre, de la gestion de l'asynchrone via Tokio et du binaire statique unique. Contrairement à app-nextcloud (PHP) ou app-owncloud-infinite-scale (Go + microservices), OxiCloud vise un monolithe léger : un seul binaire Rust, une base SQLite par défaut, pas de microservices à orchestrer, et un démarrage quasi instantané.
Les fonctionnalités actuelles couvrent l'essentiel : upload/download via web UI, partage par lien avec mots de passe, multi-utilisateurs, dossiers, recherche par nom, prévisualisation d'images et de PDF, WebDAV. Le frontend est volontairement simple (pas de calendrier, pas de contacts) — l'objectif affiché est de faire mieux, plus vite, avec moins. La roadmap mentionne le chiffrement E2E et la sync desktop, qui seraient des atouts pour rattraper la concurrence.
Là où OxiCloud se distingue vraiment, c'est dans son profil d'exécution : ~15 Mo de RAM au repos, consommation CPU minimale, démarrage en < 100 ms. C'est l'outil idéal pour un Raspberry Pi, un mini-PC consommant 10 W, ou un homelab où l'on ne veut pas faire tourner une stack LAMP complète. L'UI web est moderne (SPA React ou Svelte selon les versions), fluide et responsive.
⚠️ Note : projet jeune (2024), à évaluer pour la maturité opérationnelle avant déploiement critique. Idéal pour un usage personnel ou pour découvrir l'écosystème Rust cloud.
🚀 Installation
Option 1 : Docker Compose (recommandé)
# docker-compose.yml
version: '3.8'
services:
oxicloud:
image: ghcr.io/digitalsparky/oxicloud:latest
container_name: oxicloud
restart: unless-stopped
ports:
- "8080:8080"
environment:
OXICLOUD_DATABASE_URL: sqlite:///data/oxicloud.db
OXICLOUD_STORAGE_PATH: /data/files
OXICLOUD_LISTEN_ADDR: 0.0.0.0:8080
OXICLOUD_JWT_SECRET: ${JWT_SECRET}
OXICLOUD_MAX_UPLOAD_MB: "2048"
volumes:
- oxicloud_data:/data
volumes:
oxicloud_data:
Option 2 : Binaire Rust (1 ligne)
# Cargo
cargo install oxicloud
# Ou binaire pré-compilé
curl -L -o oxicloud https://github.com/OxiCloud/oxicloud/releases/latest/download/oxicloud-linux-amd64
chmod +x oxicloud
./oxicloud
Option 3 : Compilation depuis les sources
git clone https://github.com/digitalsparky/oxicloud.git
cd oxicloud
cargo build --release
./target/release/oxicloud
⚙️ Configuration
- Variables d'environnement : principales options définissables via
.env(chemin storage, port, secret JWT, taille max upload). - Base de données : SQLite par défaut, commutable en PostgreSQL via
OXICLOUD_DATABASE_URL. - Stockage : POSIX local ; S3 et autres backends prévus dans la roadmap.
- Reverse-proxy : app-traefik ou app-caddy en frontal pour HTTPS.
- Premier admin : créé à l'initialisation ou via CLI
oxicloud user create-admin. - Backups : simple copie du dossier
/data(fichiers + SQLite) pour un restore complet.
🔄 Alternatives
Open Source
- app-nextcloud — Le géant PHP, plus complet
- app-cloudreve — Go, plus mature
- app-owncloud — PHP, plus ancien
- app-owncloud-infinite-scale — Go, microservices
- app-opencloud — Fork d'oCIS
- app-seafile — C, performances historiques
- app-sync-in — Node.js
- app-mydrive — Node.js
- app-kinto — JSON, pas fichiers
- Plex/Jellyfin — pour les médias
- FileBrowser — minimaliste Go
Propriétaires (ce que cette app remplace)
- Dropbox — partage, sync
- Google Drive — partage
- OneDrive — écosystème Microsoft
- pCloud — cloud européen
🔐 Sécurité
- JWT pour les sessions, configurable.
- Hash Argon2 des mots de passe (par défaut).
- Chiffrement at-rest : à implémenter côté storage (LUKS) ou via backend S3 avec SSE.
- HTTPS : obligatoire en prod, à terminaison sur le reverse-proxy.
- Rate-limiting : activable via reverse-proxy (app-traefik middleware).
- Headers : HSTS, CSP, X-Frame-Options à configurer sur le frontal.
- Mises à jour : cycle court (versions mineures fréquentes) — projet jeune, suivre activement.
- MFA : non intégrée nativement, à compenser par reverse-proxy auth (app-authelia).
📚 Ressources
Pages Liées
- cat-cloud-storage — Catégorie Cloud Storage
- recettes-docker-compose — Templates Docker
- app-cloudreve — Concurrent Go moderne
- app-nextcloud — Référence complète
- securisation-home-lab — Sécurité
- Catalogue-Self-Hosted — Hub