D'abord, on va créer un dossier .cozy
dans ton dossier user :
mkdir ~/.cozy
Ce dossier accueillera différentes choses propres à Cozy.
En premier lieu, il faut installer Docker, qui servira à lancer la base de données CouchDB. Ça dépend de l'OS utilisé. Il faut donc chercher dans la doc de Docker ta plateforme et suivre les instructions.
Il faut ensuite lancer CouchDB :
docker run -d \
--name cozy-stack-couch \
-p 5984:5984 \
-v $HOME/.cozy/couch:/opt/couchdb/data \
apache/couchdb:2.1
Il faut ensuite créer les différentes bases :
curl -X PUT http://127.0.0.1:5984/{_users,_replicator,_global_changes}
Il faut d'abord installer Go. Si tu ne sais pas si Go est installé sur ton système, essaye de lancer un go --help
. Si tu as un résultat, alors tu as Go. Sinon, il faut que tu recherche dans la doc de Go ou de ton système comment l'installer.
Une fois que tu as Go, tu peux récupérer cozy-stack
:
go get -u github.com/cozy/cozy-stack
Ça prend un peu de temps. Tu peux en profiter pour ajouter le dossier de binaires de Go à ton PATH. Pour ça, sur Linux, tu peux ajouter la ligne suivante à ton .bashrc
, .zshrc
ou autre .*rc
:
export PATH="$(go env GOPATH)/bin:$PATH"
Une fois que le téléchargement de cozy-stack
est terminé, tu peux lancer un cozy-stack --help
pour vérifier que tout est bon (il faudra lancer un nouveau terminal pour que celui-ci ait le bon PATH).
Ici il faut créer un fichier cozy.yaml
dans lequel tu peux copier le contenu du fichier cozy.yaml
ci-dessous.
Ensuite, il faut remplacer toutes les occurences de <user>
par le nom de ton dossier home.
Il faut ensuite créer le dossier ~/.cozy/storage
et le dossier ~/.cozy/scripts
:
mkdir ~/.cozy/{storage,scripts}
Enfin, il faut créer un fichier ~/.cozy/scripts/konnector-node-run.sh
dans lequel il faudra copier le contenu du fichier konnector-node-run.sh
ci-dessous. En remplaçant <path_to_node_bin>
par le chemin vers ton binaire Node, et <user>
par le nom de ton dossier home.
Ici, si tout est bon, alors lorsque tu lance un cozy-stack config print
, tu dois voir un JSON de ta configuration s'afficher.
Pour créer une nouvelle instance, il faut d'abord lancer la stack ;
cozy-stack serve
Puis lancer la commande suivante :
cozy-stack instances add --dev --passphrase cozy --apps drive,photos,settings cozy.tools:8080 --email <email>
Cela ajoutera une instance de Cozy avec les applications Drive, Photos et Paramètres.
Pour lancer l'instance :
cozy-stack serve
Puis rends-toi sur cozy.tools:8080
dans ton navigateur. Le mot de passe de ton instance est "cozy".
Premièrement, il faut cloner le repository de l'application dans le dossier de ton choix :
cd <somewhere>
git clone <repository_url>
cd <newly_created_directory>
Ensuite, il faut installer les dépendances du projet :
yarn install
Puis compiler les assets. Ici, la commande diffère selon les projets, donc le mieux est d'aller voir dans les scripts du package.json
. Disons que le script s'appelle watch
:
yarn watch
Un dossier build
a du être créé. On va installer l'application dans la stack en utilisant ce dossier. Ici, prenons l'exemple de cozy-bank
:
cozy-stack apps install bank file:///home/<user>/<path_to_cozy_bank>/build
Cela aura pour effet de créer un nouveau dossier bank
dans ~/.cozy/storage/cozy.tools:8080/.cozy_apps
. Dans ce dossier se trouve un autre dossier qui porte un nom du style 0.0.2-AbugPePXRC
. Ce dossier contient une copie du dossier build
. Pour développer, ça ne va pas être pratique car il faudra le remplacer à chaque modification. C'est pour cette raison qu'on va le remplacer par un lien symbolique vers le dossier build :
rm -rf ./0.0.2-machin
ln -s <path_to_bank>/build 0.0.2-machin
L'application sera maintenant toujours synchro avec tes modifications dans ton dossier de dev.
Voilà !