Skip to content
Snippets Groups Projects

Simplified self-hosted cozy cloud installation

⚠️ Unofficial, not affiliated with cozy.io

Simplified procedure to run a personal cozy cloud with GrandLyon apps with docker.

Derived from vsellier's easy-cozy.

Prequisite

  • A domain name
  • A server with docker installed (linux arm or x86, MacOS) and accessible from Internet

Domain configuration

Choose a cozy subdomain for you instance like cozy.mydomain.tld. Declare on your domain :

  • a A entry with the ip of your server to cozy.mydomain.tld
  • a CNAME entry *.cozy.mydomain.tld to cozy.mydomain.tld

Reverse proxy configuration

The deployed cozy installation is not ready for web yet, it need to be exposed to the web through a reverse proxy. As cozy generates sub-domains for every applications, Let's Encrypt certificates must be generated dynamically. Vestibule can be easily used to do so. Traefik can also be used, but if you want to do so, consider using the upfront vsellier's easy-cozy.

OIDC

This installation creates an normal account named "demo", and an Open Id Connect (OIDC) authenticated account named "demooidc". The docker-compose starts a keycloak instance that must be accessible under the url defined in OIDC_IDP environment variable (use webfront+ to reverse proxy it) as well. If you do not want to use OICD, you can remove keycloak from the docker compose and delete the demooidc instance.

Cozy installation and configuration

git clone https://forge.grandlyon.com/pocs/cozy/easy-cozy.git
  • On the root directory of the project, create a .env file. You can use the env.template file as reference.

  • By default, your first instance is named 'nicolas'. To change it, open the install.sh script and modify the line where create-instance.sh is called.

  • Start the server for the first time

sudo ./install.sh

This will start the containers, create the databases and create an instance with basic applications. Open in a browser the url displayed at the end of the script output to finalize the instance configuration.

👍 Congratulations you have now your own cozy cloud.

Initialize more personal instance(s)

To add an instance myuser.cozy.mydomain.tld, run:

sudo ./create-instance.sh myuser

Open in a browser the url displayed at the end of the script output to finalize the instance configuration.

Install applications

Default apps (drive, collect, settings, home) and GrandLyon apps (energy-dataviz) are installed by default by the create-instance.sh script. Other applications like banks or contacts are also available.

You can go to the store application (store.yourinstance.youdomain.tld) to manage you applications. To manually install an application, you can run the application.sh script :

sudo ./application.sh <instance name> <application>

Update applications

To update Grand Lyon applications and connectors, run:

sudo ./update.sh

Reset your cozy

If for some reason you need to reset your cozy, simply re-run install.sh. Careful, all the data and instances will be removed and you will have a new, clean cozy with basic apps.