Files
2026-06-09 18:40:21 +02:00

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

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