143 lines
6.0 KiB
Markdown
143 lines
6.0 KiB
Markdown
---
|
||
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
|