OpenBazaar + Docker = son petit vide-grenier décentralisé disponible 24/7

Depuis que je m’intéresse de nouveau aux crypto-monnaies il y a un mot que je vois revenir assez souvent : OpenBazaar. Ayant un peu de temps libre ce weekend, j’en ai donc profité pour m’y intéresser et voir ce qu’il y avait là dessous.

Pour ceux découvrant OpenBazaar, il s’agit d’un genre de mix entre Twitter et Ebay. Les utilisateurs ont donc un profil et peuvent s’en servir pour communiquer, acheter des choses ou vendre leurs biens en créant une boutique.

Une histoire de cartes

En ce moment je range beaucoup, les années passent et les passions et centres d’intérêts évoluent, que nous le voulions ou pas.

L’exemple type serait Magic The Gathering.

Lorsque j’étais encore étudiant j’étais passionné par ce jeu, j’ai commencé à jouer grâce à des amis de l’époque puis de fil en aiguille sans trop savoir comment on finit par gagner des tournois.

Puis les années passèrent, et maintenant je n’ai plus de temps à consacrer à mes decks. Par souci d’espace j’ai donc commencé à vendre mes cartes via Ebay & Priceminister.

30% de commission

Pour certains objets ces systèmes ne sont pas très appropriés, je pense surtout aux cartes magic car elles représentent la majeure partie de mes ventes en ligne. Je parle majeure car cela représente 99% d’entres elles mais ne vous faites pas d’idées, la plupart des cartes ne valent pas chères, 10€ par mois c’est déjà beaucoup.

Le minimum pour un objet mis en vente est de 0,90€. Nos bouts de cartons valant moins, il suffit de faire un pack de 2 à 4  afin de respecter leur côte.

Sur ces 0,90€, environs 22% sont prélevés comme commission dites variable, en fonction du prix. Rajoutez y les 0,05€ de frais fixe et vous obtenez 0,25€ de frais.

0,25€  sur une vente à 0,90€, cela représente prêt de 30% de frais.

Revenons à OpenBazaar, ici pas de frais hormis pour les modérateurs, qui interviennent lorsqu’il y a un conflit entre un acheteur et son vendeur. Ces derniers prennent alors une commission qu’ils fixent eux même à l’avance et qui se situe entre 0 et 5% (ils peuvent demander plus mais je n’en ai pas encore vu), vous ne rêvez pas, certains font ça bénévolement !

Installer OpenBazaar sur son serveur avec Docker

OpenBazaar repose sur un système P2P, afin que votre boutique soit accessible il faut donc que votre logiciel soit lancé, alors que pour les sites de vente entre particulier classique il suffit de mettre votre annonce en ligne, ici il faut aussi que le logiciel soit en marche sur votre ordinateur.

Le système reposant sur du P2P, votre PC doit rester allumé h24 afin que votre boutique soit disponible, ayant un VPS sous la main, pourquoi ne pas s’en servir ?

Ce dernier étant utilisé pour diverses applications  et étant relativement fragile je n’avais pas envie de toucher à tout pour installer OpenBazaar.

Utilisant maintenant Docker, je voulais donc m’en servir afin d’avoir de déployer mon petit vide grenier décentralisé.

Place à l’explication.

Tout d’abord choisissez un pseudo ainsi qu’un mot de passe (dans votre tête) qui serviront pour la connexion, une fois cela fait lancez la commande suivante :

docker run --env "USERNAME=VOTRE_PSEUDO" --env "PASSWORD=VOTRE_PASS" -p 18469:18469 -p 18466:18466 -p 18470:18470 -d sbres/openbazaar-server

Ca build, laissez tourner, une fois que votre serveur a fini son travail il ne vous reste plus qu’à vous connecter.

Pour cela installez le client OpenBazaar sur votre machine :

  • Ubuntu, Mac OSX, Windows

Rendez-vous sur le site officiel et téléchargez la version appropriée à votre système

  • Arch Linux

Le paquet est dispo dans le AUR : openbazaar

  • Les autres

Compilez :p

Une fois le client installé et lancé, ajoutez un serveur et renseignez les lignes suivantes :

  • IP : l’ip de votre serveur
  • Name : Le nom de connexion que vous avez utilisé à l’etape précédente
  • Password : Idem que pour au dessus

Une fois cela fait votre client se connecte et vous êtes prêt à personnaliser votre profil et à organiser votre magasin !

CE N’EST PAS FINI

Attention, si jamais vous détruisez votre container et que vous ne pouvez pas le relancer, vous perdrez alors votre compte !

Nous allons donc créer une copie du container en cours, récupérez l’ID de votre container comme ceci :

docker ps

Puis faites en une image :

docker commit -p ID mon_openbazaard

Voilà, on se sent mieux non ? Pas vraiment, et si le serveur rendait l’âme ? Dans le doute on fait une sauvegarde de l’image créée :

On récupère l’ID de mon_openbazaar :

docker images

On en fait une archive :

docker save -o mon_openbazaar ID

Il ne reste plus qu’a télécharger le fichier !

Garder une boutique à jour

On vient de voir comment récupérer son compte en cas de problème, mais si le container ou serveur plante et qu’on ne peut pas le récupérer ? La boutique subirait un rollback, la retournant à l’état de la dernière sauvegarde… Pas top.

Donc ce que l’on va faire c’est garder les bases de données, fichiers du serveur etc, en dehors du container.

Pour cela j’utilise Docker-Compose, voilà à quoi ressemble le fichier de base :

openbazaar:
image: mon_openbazaard
ports:
- 18469:18469
- 18466:18466
- 18470:18470
volumes:
- ./ob/:/home/ob
environment:
USERNAME: NOM UTILISATEUR
PASSWORD: MOT DE PASSE

Puis on copie les dossiers importants :

cp -r /server /home/ob
cp -r /root/.openbazaar /server/root

Aussi simple que ça, ainsi nous avons copié les 2 dossiers importants de notre installation.

Maintenant nous pouvons établir notre docker-compose.yml final en  faisant le lien entre nos fichiers locaux et le container :

openbazaar:
image: mon_openbazaard
ports:
- 18469:18469
- 18466:18466
- 18470:18470
volumes:
- ./ob/server:/server
- ./ob/server/root:/root/.openbazaar
environment:
USERNAME: NOM UTILISATEUR
PASSWORD: MOT DE PASSE

Un petit coup de

docker-compose up -d

Et nous voilà prêt :p

Serveur ne répondant plus

Nous sommes plusieurs à avoir ce problème, après une heure ou deux d’activité le serveur devient très lent puis injoignable, la seule solution disponible pour le moment est de le redémarrer.

Afin de faciliter la chose il suffit ici de faire une tache cron afin de redémarrer périodiquement notre container, nous accédons donc à la liste des taches :

crontab -e

Puis nous inscrivons l’ordre de redémarrer notre container, ici toutes les heures :

0 * * * * /usr/bin/docker restart ID_CONTAINER

Recevoir une notification lors d’une vente

Pour finir une dernière étape pratique, sauf si vous allez sur OpenBazaar tous les jours, il faudra que vous soyez averti lors d’une vente.

Pour ça, cliquez sur votre avatar en haut à droite puis :

  • Paramètres
  • Avancé
  • Notifications SMTP

Il ne vous reste plus qu’à renseigner les différents paramètres avec les infos de votre SMTP préféré.

Envie de partager ?

Poster un Commentaire

1 Commentaire sur "OpenBazaar + Docker = son petit vide-grenier décentralisé disponible 24/7"

avatar
Abralyss
Invité
Abralyss

Bonjour,
Je viens de créer une boutique sur Openbazaar et je ne trouve pas le moyen de changer la description de la boutique. Si vous le savez et si vous avez le temps, vous pourriez m’indiquer comment on fait ?
Par avance merci.

wpDiscuz