Files
wiki/Catalogue-Self-Hosted/apps/app-owncloud-infinite-scale.md
2026-06-09 18:40:21 +02:00

143 lines
6.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: ownCloud Infinite Scale
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, cloud-storage, go, ocis, s3-compatible, enterprise, microservice]
confidence: high
contested: true
sources: [https://selfh.st/apps/?tag=Self-hosted+Cloud, https://github.com/owncloud/ocis]
---
# ♾️ ownCloud Infinite Scale (oCIS)
> **La refonte moderne d'ownCloud, écrite en Go** : architecture microservices, API S3-native, performances de stockage décuplées et modèle « storage-as-a-service » pour entreprises ; ambitieux, plus complexe à opérer que son aîné PHP mais pensé pour le cloud hybride.
## 📋 Informations Générales
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | [owncloud.com/ocis](https://owncloud.com/ocis/) |
| **GitHub** | [owncloud/ocis](https://github.com/owncloud/ocis) |
| **License** | Apache-2.0 |
| **Langage** | Go |
| **Étoiles** | 1 850 ⭐ |
| **Dernière MAJ** | 2026-06-03 |
| **Catégorie** | [[cat-cloud-storage]] |
## 📝 Description
**ownCloud Infinite Scale** (abrégé **oCIS**) est né en 2020 sous l'impulsion de l'équipe d'ownCloud GmbH pour répondre à deux limitations structurelles du PHP historique : les **goulets d'étranglement en I/O** (PHP-FPM ne tient pas la charge de millions de fichiers) et l'impossibilité d'exposer une **vraie API S3-compatible**. Le projet a été réécrit intégralement en Go, en passant d'un monolithe PHP à une **constellation de microservices** (auth, storage, frontend Web, notifications, antivirus, graph...) qui communiquent via gRPC.
La conséquence concrète pour l'utilisateur final est triple : (1) des **performances** jusqu'à 10× supérieures à [[app-owncloud]] PHP sur des arborescences profondes ; (2) la possibilité d'utiliser oCIS comme **backend S3** pour d'autres applications (S3 Gateway intégré) ; (3) une **flexibilité de déploiement** (un seul binaire ou microservices répartis sur plusieurs nœuds). Côté fonctionnalités utilisateur, oCIS est un peu en retard sur Nextcloud (moins d'apps communautaires) mais progresse vite (CalDAV, CardDAV, WebDAV, partages, déploiement à grande échelle).
⚠️ **Note contested** : le projet est très prometteur, mais sa complexité opérationnelle le rend difficile à recommander pour un usage familial. Pour un home-lab, [[app-nextcloud]] ou [[app-cloudreve]] seront plus simples. oCIS brille surtout dans des contextes d'entreprise ou de scale, ou comme **passerelle S3** self-hosted. Le développement a parfois été tumultueux (roadmap réécrite, breaking changes entre versions), d'où la mention `contested: true`.
## 🚀 Installation
### Option 1 : Docker Compose (recommandé)
```yaml
# docker-compose.yml
version: '3.8'
services:
ocis:
image: owncloud/ocis:7.0
container_name: ocis
restart: unless-stopped
ports:
- "9200:9200" # Web UI
environment:
OCIS_DEMOS_ENABLED: "true" # à désactiver en prod
OCIS_INSECURE: "false"
OCIS_LOG_LEVEL: info
OCIS_URL: https://cloud.example.com
PROXY_HTTP_ADDR: 0.0.0.0:9200
volumes:
- ocis_config:/etc/ocis
- ocis_data:/var/lib/ocis
postgres:
image: postgres:16-alpine
container_name: ocis-db
restart: unless-stopped
environment:
POSTGRES_USER: ocis
POSTGRES_PASSWORD: ${DB_PASS}
POSTGRES_DB: ocis
volumes:
- db_data:/var/lib/postgresql/data
volumes:
ocis_config:
ocis_data:
db_data:
```
### Option 2 : Binaire natif
```bash
# Téléchargement direct
curl -L -o ocis https://github.com/owncloud/ocis/releases/latest/download/ocis-linux-amd64
chmod +x ocis
./ocis init
./ocis server
```
## ⚙️ Configuration
- **`ocis.yaml`** : fichier central, déclare les services, les URL externes, le storage (POSIX, S3, EOS).
- **Identity provider** : peut être interne (IDM) ou externe (OIDC, LDAP).
- **Storage drivers** : POSIX (par défaut), S3, EOS (CERN). Pour brancher un MinIO existant, configurer la section `storage.users.storage`.
- **S3 Gateway** : oCIS peut servir de frontend S3 natif, idéal pour s'interfacer avec des outils DevOps (restic, Velero, etc.).
- **Antivirus** : intégration native avec ClamAV.
- **Notifications** : email, webhook, push.
## 🔄 Alternatives
### Open Source
- [[app-owncloud]] — L'aîné PHP, plus simple à opérer
- [[app-nextcloud]] — Fork PHP, plus complet côté apps
- [[app-cloudreve]] — Go, plus simple
- [[app-seafile]] — C + Python, performances historiques
- [[app-opencloud]] — Fork communautaire d'oCIS
- [[app-oxicloud]] — Rust
- [[app-sync-in]] — Node.js
- [[app-mydrive]] — Node.js
- **MinIO** — Pur serveur S3, sans UI fichier
- **Ceph** — Système de fichiers distribué + S3
### Propriétaires (ce que cette app remplace)
- **AWS S3** — stockage objet managé
- **Cloudian HyperStore** — object storage d'entreprise
- **Scality RING** — stockage objet
- **MinIO (Cloud)** — version SaaS de l'open source
## 🔐 Sécurité
- **Chiffrement at-rest** : via le backend S3 sous-jacent ou LUKS sur le volume POSIX.
- **OIDC natif** : intégration directe avec Keycloak, Auth0, etc.
- **Hardening** : désactivez `OCIS_DEMOS_ENABLED` impérativement en prod.
- **mTLS inter-services** : activable en mode microservices répartis.
- **Audit** : logs structurés (logrus) exportables vers [[cat-monitoring]].
- **CSP / HSTS** : à configurer sur le reverse-proxy ([[app-traefik]], [[app-caddy]]).
- **Mises à jour** : cycle court (versions mineures toutes les 2-3 semaines), suivre le canal `stable`.
## 📚 Ressources
- [Site officiel](https://owncloud.com/ocis/)
- [Documentation admin](https://owncloud.dev/ocis/)
- [GitHub owncloud/ocis](https://github.com/owncloud/ocis)
- [Forum communauté](https://central.owncloud.org/)
- [Webinaires ownCloud](https://owncloud.com/webinars/)
## Pages Liées
- [[cat-cloud-storage]] — Catégorie Cloud Storage
- [[recettes-docker-compose]] — Templates Docker
- [[app-owncloud]] — L'aîné PHP
- [[app-opencloud]] — Fork communautaire
- [[securisation-home-lab]] — Sécurité
- [[Catalogue-Self-Hosted]] — Hub