Skip to content
Snippets Groups Projects
index.md 1.54 KiB
Newer Older
  • Learn to ignore specific revisions
  • Bastien DUMONT's avatar
    Bastien DUMONT committed
    # Introduction
    
    
    ![easycozy](../img/easycozy.png){: .center}
    
    ## What is Cozy-Stack
    
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
    It is the core server of the Cozy platform. It consists of a single process, *the Cozy stack*.
    
    
    [Full Cozy-Stack documentation here](https://docs.cozy.io/en/cozy-stack/).
    
    The Cozy-Stack is in charge of serving the Web applications users have installed from the application store.
    
    It provides its services through a REST API that allows to:
    
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
    - create, update, delete documents inside the database;
    - authenticate users and client applications;
    - send emails;
    - launch jobs on the server. Connectors that import data from remote websites are some sort of jobs. Jobs can be one time tasks (sending a message) or periodic tasks. Some jobs, like the connectors, that require executing third party code on the server side, are sandboxed (we use `nsjail` for now).
    -
    
    
    The Cozy-Stack also allows to access the database replication API, allowing to sync documents between the server and local databases, for example in mobile clients.
    
    Two authentication methods are available:
    
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
    - Web applications running on the server get a session token when the user log in;
    - OAuth2 for other applications.
    
    
    Feel free to [open an issue](https://github.com/cozy/cozy-stack/issues/new)
    for questions and suggestions.
    
    ## Why we use it ?
    
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
    Without that stack we are not able to properly interact with all cozy apps and data. That's why we are using it. For local development we are using the official cozy-stack repo with some packaging updates, and for our test env we are using [Easy cozy](../easycozy/index.md)