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 tocozy.mydomain.tld
- a
CNAME
entry*.cozy.mydomain.tld
tocozy.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
- Clone the easy-cozy project
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 'demo'. 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.