cozy / python_cozy_management

Python module to manage self hosted cozy
GNU Lesser General Public License v3.0
1 stars 5 forks source link
cozy self-hosting

Description

Helper to manage self hosting cozy

⚠ This tool has only been tested on the platforms we support (Debian / Ubuntu / Raspbian). Some of the commands will not work on other distributions. It is mostly a wrapper around shell commands, so if you use another distribution, you can probably read the code and adapt the commands to your distribution

Install

Make sure those packages are installed on your environment :

python-requests python-docopt python-openssl python-psutil python-pkg-resources

Then, install Python Cozy Management : pip install cozy_management

Details about installation

This script do this for you:

  1. Install requirements
    • Put cozy-apt-node-list in silent mode
    • Install cozy-apt-node-list to add nodejs repository
    • Do an apt-get update
    • Install nodejs
    • Install cozy-depends to have all requirements for Cozy
    • Install weboob
  2. Install Cozy Debian Package
    • Launch an apt-get install cozy
    • Check nodejs version
    • Launch post-configuration for cozy-standalone cozy-nginx cozy-apache2
    • cozy-standalone
      • Show a warning about self-signed certificate on Android
      • Ask for Cozy FQDN
      • Ask for certificate type (none, selfsigned, letsencrypt)
      • Install npm package (cozy-controller & cozy-monitor)
      • Add unix users (cozy, cozy-data-system & cozy-home)
      • Create /etc/cozy directory with cozy as owner
      • Create /etc/cozy/couchdb.login with Couch admin creation
      • Add /etc/supervisor/conf.d/cozy-controller.conf managed by UCF
      • (Re)start cozy-controller
      • Install stack with cozy-monitor install-cozy-stack
      • Install & start data-system, home & proxy to avoid errors
      • Set the Cozy domain with commands.coffee setdomain <domain>
      • Set the Cozy background with a curl
      • Install default apps (calendar, contacts, photos, emails, files, sync & import-from-google)
      • Manage SSL certificate
    • cozy-nginx
      • Disable default site
      • Add /etc/nginx/conf.d/cozy.conf managed by UCF
      • Handle let's encrypt if it's activated
    • cozy-apache2
      • Enable required modules (ssl, proxy_http, proxy_wstunnel & rewrite)
      • Add /etc/apache2/sites-available/cozy.conf managed by UCF

You can found more information here: https://docs.cozy.io/en/host/install/install-step-by-step.html

Usage

Contribution

License

Python Cozy management is developed by Cozy Cloud and distributed under the AGPL v3 license.

What is Cozy?

Cozy Logo

Cozy is a platform that brings all your web services in the same private space. With it, your web apps and your devices can share data easily, providing you with a new experience. You can install Cozy on your own hardware where no one profiles you.

Community

You can reach the Cozy Community by: