OpenCloud logo

OpenCloud

Scalable Go backend for secure file sync and sharing

A Go‑based server backend that provides OpenID Connect authentication, filesystem storage, and ready‑to‑run file sync & share services with simple local deployment and extensible identity provider options.

OpenCloud banner

Overview

Overview

The OpenCloud server backend is a Go‑written platform that powers self‑hosted file synchronization and sharing. It authenticates users via OpenID Connect, supporting external providers such as Keycloak or the built‑in LibreGraph Connect identity service. All data is stored directly in the filesystem, eliminating the need for a separate database and simplifying backup and migration.

Deployment & Extensibility

A single binary is produced with make -C opencloud build. After generation of assets, the server can be initialized and started with opencloud/bin/opencloud init && opencloud/bin/opencloud server, creating a default configuration under $HOME/.opencloud. Developers can extend functionality through Go code, contribute patches, or add custom tests, benefiting from an active community and Apache‑2.0 licensing.

Who Should Use It

Ideal for teams and individuals seeking a lightweight, secure file‑share solution that integrates with existing SSO infrastructure, while keeping operational overhead low.

Highlights

OpenID Connect authentication with external IdPs or embedded LibreGraph Connect
Filesystem‑based storage eliminates database dependencies
Single Go binary for straightforward deployment
Extensible codebase with active community contributions

Pros

  • Simple storage model reduces operational complexity
  • Strong security through standard OIDC flows
  • High performance native Go implementation
  • Active open‑source community and clear contribution path

Considerations

  • Lacks a relational database for complex queries
  • Filesystem storage may limit massive data scalability
  • No built‑in rich UI; focuses on backend services
  • Custom extensions require Go development expertise

Managed products teams compare with

When teams consider OpenCloud, these hosted platforms usually appear on the same shortlist.

Dropbox logo

Dropbox

Cloud file storage and sync for teams and individuals

Google Drive logo

Google Drive

Cloud file storage, sync, and sharing

MEGA logo

MEGA

Encrypted cloud storage and file sharing

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Self‑hosted file sync where minimal infrastructure is desired
  • Organizations that already use OIDC‑compatible identity providers
  • Developers looking to extend a Go backend for file services
  • Small to medium deployments that can rely on filesystem storage

Not ideal when

  • Enterprises needing high‑throughput, database‑backed storage
  • Use cases requiring a full‑featured collaboration UI out of the box
  • Teams without Go programming experience
  • Very large scale deployments requiring distributed storage solutions

How teams use it

Corporate file share with Keycloak SSO

Secure, centralized file access for employees using existing SSO

Personal cloud storage on a home server

Simple, low‑maintenance file sync without a database

Automated test environment for sync applications

Quick spin‑up of a backend instance for integration testing

Custom metadata handling via Go plugins

Tailored functionality added to the backend without altering core code

Tech snapshot

Go48%
Gherkin36%
PHP12%
JavaScript1%
Starlark1%
Makefile1%

Frequently asked questions

How is data persisted?

All data is stored in the filesystem under the configured root directory, defaulting to $HOME/.opencloud.

Which identity providers are supported?

Any OpenID Connect provider, such as Keycloak, or the built‑in LibreGraph Connect identity service.

Do I need a database?

No, the server operates solely with filesystem storage.

How do I start a local instance?

Run `opencloud/bin/opencloud init && opencloud/bin/opencloud server` after building the binary.

What license is the project under?

The OpenCloud server backend is released under the Apache License 2.0.

Project at a glance

Active
Stars
4,610
Watchers
4,610
Forks
158
LicenseApache-2.0
Repo age1 year old
Last commityesterday
Primary languageGo

Last synced yesterday