Open-source personal cloud that automatically gathers all your data from third-party services. French-hosted with privacy-first design, no ads, and seamless device sync.

At a Glance:

Cozy-Stack is the core server of the Cozy platform, providing a REST API for document management, user authentication, and job execution, including sandboxed third-party connectors, with support for database replication.

Overview:

Cozy-Stack is the core server for the Cozy platform, a system designed to aggregate personal web services into a private, self-hosted space. It operates as a single process responsible for serving web applications installed from an application store and managing the platform's backend logic. The stack exposes a REST API for database interactions, user and client authentication, sending emails, and launching jobs, which include sandboxed connectors that import data from remote websites. Its database replication API enables document synchronization with local clients, such as mobile devices, using session-based or OAuth2 authentication.

Key Decision Points:

  • Self-hosted server: It is designed to be installed on a user's own hardware.

  • API-first architecture: All core services, including database operations, authentication, and job management, are accessed through a REST API.

  • Sandboxed job execution: Third-party code run for data import connectors is executed in a sandboxed environment using nsjail.

  • Client synchronization: The included database replication API allows for syncing documents between the server and local databases for offline or mobile use.

  • Developer authentication: It supports both session token authentication for web apps and OAuth2 for other clients.

Core Features:

  • Document management via REST API: Create, update, and delete documents stored in the server's database.

  • User and client authentication: Offers user login via session tokens for web applications and OAuth2 flow for other clients.

  • Job and connector system: Schedules and runs one-time or periodic jobs, including connectors to fetch data from remote services.

  • Sandboxed third-party execution: Ensures that data import connectors run in an isolated environment using nsjail.

  • Database replication: Provides an API to synchronize data between the server and local databases for client applications.

Use Cases:

  • Developers can build and serve private web applications from a self-hosted platform.

  • Self-hosters can install a personal cloud server to aggregate data from various web services on their own hardware.

  • Client application developers can use the replication API to sync server data with native mobile or local applications.

Open-Source Alternative Value:

Cozy-Stack provides a self-hosted core server, allowing users to operate their own personal cloud platform on private hardware. Its programmable REST API and OAuth2 support give developers a clear path to build authenticated applications and data connectors, without depending on an external platform's backend. The explicit sandboxing of third-party connector code, using nsjail, offers a transparent approach to managing code execution security for server-side data imports.

ShareXLinkedInReddit

Related tools

Project stats

Stars

1,269

Forks

143

License

AGPL-3.0

Metadata

Alternative to
1Password