Installer Dropbox headless sur un serveur Linux

Selection_237

Dropbox est un service de stockage et de partage de copies de fichiers locaux en ligne proposé par Dropbox Inc.
Via un agent installé sur votre ordinateur ou mobile, il est capable de synchroniser une arborescence sur le cloud et permet ainsi une sauvegarde et un versionning de celui-ci.
L’usage classique de Dropbox est d’utiliser un outil sur votre Desktop. Un usage moins évident est de l’utiliser sans le programme Desktop Windows sur un serveur LINUX.
Nous allons voir comment l’installer et le configurer sur un serveur LINUX DEBIAN.

La première étape consiste à mettre à jour le système.

apt-get update
apt-get upgrade

Ensuite on télécharge Dropbox depuis le serveur officiel.
Pour un système 32bit :

cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -

Pour un système 64bit :

cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
Selection_234

La décompression de l’archive se fait dans un répertoire .dropbox-dist
Lancez la commande suivante pour exécuter le programme :

~/.dropbox-dist/dropboxd

Le programme va alors détecter que l’ordinateur n’est lié à aucun compte et va vous demander de vous authentifier. Pour lier le serveur le programme vous fournit une url à ouvrir sur votre navigateur.
Tant que cette manipulation n’aura pas été faite le programme continuera à vous demander cette action.

Selection_236

Sur le navigateur Dropbox nous demande de confirmer cette liaison :

Selection_237-1

Une fois acceptée, la liaison est immédiatement prise en compte.

Selection_238-1
Selection_239


Il faut maintenant créer le service Dropbox et pour cela un fichier est disponible ici : https://github.com/joeroback/dropbox

Et si le fichier disparait un jour vous pouvez le télécharger ici :

On l’installe comme ceci :

wget -O /etc/systemd/system/dropbox@.service https://raw.githubusercontent.com/joeroback/dropbox/master/dropbox%40.service

On active le démarrage au boot de la machine :

systemctl enable dropbox@root

On valide l’installation en relançant le deamon systemctl

systemctl daemon-reload

Et on lance le service :

systemctl start dropbox@root

On regarde ensuite le statut :

systemctl status dropbox@root
Selection_240

Visiblement il y a un problème. On voit que le service va chercher le fichier /home/root/.dropbox-dist/dropboxd
Chez nous le fichier est dans /root/.dropbox-dist/dropboxd
Il faut modifier le script du service : /etc/systemd/system/dropbox@.service

Selection_241

On recharge et on relance le service :

systemctl daemon-reload
systemctl start dropbox@root

La pastille est verte, on est bon.

Selection_242

Tous nos fichiers sont bien synchronisés.

Si Dropbox est maintenant fonctionnel sur votre serveur il n’en reste pas moins pénible à utiliser en ligne de commande. Pour nous faciliter la vie l’éditeur fournit un script Python à utiliser en CLI pour dialoguer avec le programme.

cd /usr/bin && curl -LO https://www.dropbox.com/download?dl=packages/dropbox.py && chmod +x dropbox.py

Au cas où, vous pouvez le télécharger ici :

En le plaçant dans /usr/bin vous permettez au système de vous en donner accès quelque soit l’endroit où vous vous trouvez.

Selection_245

Une des commandes les plus utile est de vérifier le statut d’un fichier. Dropbox va pouvoir vous donner son statut via un code couleur lors de l’exécution de ls.

Selection_246


Lorsqu’on lit la source de l’utilitaire on peut voir les statuts suivants avec le code couleur correspondant :
up to date : 32
syncing : 36
unsyncable: 41
selsync : 37