Installation de Cozy sur la Freebox Delta ou S


#1

=======================================================
Création d’une VM dans la Freebox Serveur (Delta et S Uniquement)

OS : Debian Buster 10
ram : cela dépend si 1 ou 2 VM et si la mémoire de la box a été upgradé
disque : prévoir une taille suffisante pour héberger l’instance (voir quota de l’instance)

pour upgrader la Freebox serveur :
mémoire compatible :
Crucial CT8G4SFS824A 8Go (DDR4, 2400 MT/s, PC4-19200, Single Rank x8, SODIMM, 260-Pin) Mémoire

disque possible sur le serveur :
Western Digital Blue 1000Go Série ATA III disque dur - disques durs (2.5", 1000 Go, 5400 tr/min, Série ATA III, 128 Mo, Disque dur)

Mon choix : 2vcpu, 2Go ram, pour le disque (voir l’instance)

installation de cozy.

sudo su
apt update
apt upgrade
apt install -y curl wget apt-transport-https

A Adapter au besoin : testing ou stable

echo “deb https://apt.cozy.io/debian/ buster testing” > /etc/apt/sources.list.d/cozy.list
wget https://apt.cozy.io/cozy-keyring.deb
dpkg -i cozy-keyring.deb
apt update

sauvegarde du kernel:

mkdir /tmp/boot && cp -r /boot/* /tmp/boot/
mkdir /tmp/modules && cp -r /lib/modules/* /tmp/modules/

apt install -y couch-libmozjs185-1.0
repondre

restauration du kernel:

cp -r /tmp/boot/* /boot/ && rm -rf /tmp/boot/*
cp -r /tmp/modules/* /lib/modules/* && rm -rf /tmp/modules/*

apt install -y cozy

A ajouter à votre fichier ~/.bashrc

echo “export COZY_ADMIN_PASSWORD=” > ~/.bashrc

Prise en compte du fichier .bashrc

. ~/.bashrc

Permet de vérifier le bon fonctionnement de cozy stack

curl http://localhost:8080/version

nano /etc/nginx/sites-available/default

remplacer le contenu du fichier par:

à mettre dans le fichier /etc/nginx/sites-available/default

server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
server_name _;
location /.well-known/acme-challenge/ {
alias /etc/ssl/private/acme-challenge/;
}
location / {
return 301 https://$host$request_uri;
}
}

Installation du paquet ssl-cert

apt install ssl-cert

Ajout de l’utilisateur www-data au groupe ssl-cert

adduser www-data ssl-cert

redémarrage du service nginx

systemctl restart nginx

Seulement si vous ne l’avez pas ajouté à votre fichier .bashrc

export COZY_ADMIN_PASSWORD=

création de l’instance : indiquer votre sous-domaine : cozy.domaine.fr et

votre adresse mail : me@adressemail.fr
cozy-coclyco create cozy.mondomain.fr me@adressemail.fr

Il n’y a plus qu’a activé l’instance avec le lien fourni.


Installation sur VM freebox
#2

Bonjour @JoBar,

Merci beaucoup :heart_eyes_cat: d’avoir pris le temps de partager ce guide !


#3

Bonjour @JoBar,

Merci beaucoup pour le partage de ce tuto pour l’installation sur Freebox Delta, ça marche parfaitement pour Drive et Photos.

Cependant, impossible de connecter des applis, j’ai fait l’essai avec plusieurs (Sosh, Boursorama, Maif, Humanis…) et j’ai toujours la même erreur :
Erreur de Connexion
Une erreur inconnue est survenue

(voir sur le screen ci-dessous)

As-tu réussi à utiliser les connecteurs avec ton installation ?

Par ailleurs, lorsque j’installe l’application Cozy-bank, elle s’installe bien mais le certificat letsencrypt pour le sous-domaine correspondant n’existe pas (ou n’est pas génénré en tout cas) : banks.cozy.mondomain.com et provoque donc une erreur. Faut-il faire une manipulation spécifique ?

Merci d’avance pour les réponses :wink:

Adrien


#4

Salut @adrien25,

j’ai fait le même constat que toi. Pour l’instant je n’ai pas résolu le problème.
Je n’ai pas le recul suffisant pour avoir un avis (cela doit faire une vingtaine de jours que je connais cozy),
par contre, j’ai vu que dans mon tuto je n’installe pas nodejs12 (et cela semble important pour le fonctionnement des applis).
Je n’ai pas encore eu le temps de refaire ma VM. Mais dès que j’ai 5 minutes, je m’y mets.
Pour le certificat, c’est normal il ne crée pas un wildcard a la création de l’instance, mais un multi domaine.
Ceci explique le problème puisque bank.cozy.domain est absent du certificat.
Je n’ai évidemment pas encore testé, mais peut être qu’un renew du certificat une fois bank installé suffit pour le mettre avoir (attention au délai chez let’s encrypt).
Sinon, il y a surement la réponse sur le forum, on ne doit pas être les seuls :slight_smile:

Dès que je trouve (sauf si tu as trouvé avant moi), je posterai ma réponse.

À bientôt,
JoBar.


#5

Bonjour,

Merci @JoBar pour ta réponse. Je ne suis pas non plus expert cozy, je m’y suis intéréssé avec la venue des VM sur la Delta.
Oui j’ai vu aussi pour nodejs12, j’ai essayé de l’installer après coup, mais ça n’a rien changé. Je vais refaire une VM propre aujourd’hui avec une nouvelle installation de cozy, en faisant les choses dans l’ordre et je posterai ici si j’ai du nouveau.

Pour les certificats, j’ai tenté hier un cozy-coclyco renew et le sous-domaine banks a été intégré dans la réponse reçu, mais lorsque je tente de me connecter sur le navigateur j’ai toujours l’erreur de certificat, comme si le certificat regénéré n’était pas pris en compte.
Il doit y avoir une manip pour qu’il soit pris en compte mais je n’ai pas trouvé laquelle. J’ai tenté de rédémarrer cozy-stack avec un systemctl restart cozy-stack mais ça n’a rien changé.

Par ailleurs, autre question, et je sollicite aussi la team cozy et @Clochix : pourquoi les applications disponibles sur le cozy-store en auto-hébergé ne sont pas les mêmes que sur le cloud cozy.io ? Ils manquent bcp d’applications et celles présentes ne sont pas toujours dans la même version ?

Merci d’avance pour vos réponses éclairées :wink:

Adrien


#6

Salut @adrien25,

as-tu redémarré nginx pour qu’il recharge les certificats ?
Pour la différence dans les stores, en fait (ce que j’ai compris), ils (Cozy) ont un partenaire pour la synchro avec certaine banque qui ne peu pas être accessible par un auto hébergé.

j’attends ton retour de test avec impatience,
Jobar.


#7

Re,

Ah ben oui, évidemment en redémarrant nginx ça marche tout de suite mieux. Merci :wink:
Le pb de certificat est résolu, ça fonctionne pour banks.cozy.mondomaine.com

Ok pour la différence entre les stores.

La réinitialisation de la VM est en cours je te redis.

Adrien


#8

Je reviens après l’installation d’une VM toute propre et d’une nouvelle instance de cozy, en suivant à la lettre les prérequis (installation de NodeJS 12) et autres conseils donnés ici : https://docs.cozy.io/en/tutorials/selfhost-debian/ et sur le poste de @JoBar mais le problème des connecteurs persiste : Erreur de Connexion Une erreur inconnue est survenue

Le Drive Cozy fonctionne bien quant à lui.

Si quelqu’un a déjà rencontré ce problème, je dis “à l’aide !” :slight_smile:

Merci les cozynautes ! (et freenautes :wink: )

Adrien


#9

Salut @adrien25,

Je crois qu’on est bon pour passé quelque nuit a cherché le problème.
J’ai pas mal cherché sur les forums, et beaucoup de personne semble avoir ce souci.
J’avais de l’espoir sur l’absence de NodeJS, mais bon, on repart à zéro.
Il va falloir mettre l’instance en mode debug et essayé de capter quelque chose dans les logs ! Snif !

Dommage !
Mais un grand merci d’avoir fait avancer la solution.

Jobar.


#10

@adrien25,

si tu as un peu de temps. Regarde ce post : https://forum.cozy.io/t/self-hosted-les-konnectors-ne-fonctionnent-pas/6341/4 il semble qu’il y a un début d’explication. Voir de solution.


#11

Bonjour à vous deux,

Je ne vais pas pouvoir vous aider, mais je sais que globalement, faire tourner les connecteurs est la partie la plus complexe de l’installation de Cozy.
Les connecteurs s’exécutent eux-même dans un environnement virtualisé, avec nsjail. Et faire fonctionner nsjail à l’intérieur d’une machine virtuelle risque de ne pas être évident. Je pense que dans un premier temps il va vous falloir vous pencher sur nsjail et voir si ça fonctionne à l’intérieur de la machine virtuelle.

nsjail apporte de la sécurité, en garantissant que le code du connecteur ne puisse pas accéder à vos données, même si vous exécutez un connecteur malicieux. Mais si vous êtes sur votre propre serveur et faites attention à ce que vous exécutez, il est peut-être possible de se passer de nsjail et d’exécuter les connecteur dans un simple chroot (je n’en sais rien).


#12

Salut @Clochix,

merci pour l’info, je ne sais pas si nsjail doit être sur une autre VM par sécurité ou consommation de ressource (a mon avis sécurité) donc une deuxième VM est plus adapté. Ce qui est possible sur le serveur de la Freebox (2 Max). Mais je crois que mon test se fera chrooter, si les VM servent à isolé les produits, je ne vois pas l’intérêt de le mettre sur la même VM et peut être (surement) se prendre le chou pour le configurer.

Ma finalité (si je vais jusqu’au bout) c’est un reverse proxy sur la box (il y est déjà) et le reste sur un esxi.
Dans cette config, je regarderais (je pense) nsjail.

J’ai vu que le reverse proxy n’est pas du tout recommandé, mais je n’ai qu’une IPv4 a ma dispo !

J’ai bon ? Quand penses-tu ?

JoBar.