/ Auto-hébergement

Décentralisons internet avec Ethibox !

Aujourd'hui, la centralisation d'internet est plus qu'évidente. Les serveurs des grandes entreprises regorgent de données, récupérées à l'insu ou non de leurs utilisateurs. Face à cette menace contre la vie privée, une solution : l'auto-hébergement de logiciels libres. Néanmoins, cette pratique n'est pas à la portée du grand public car elle requiert de nombreuses connaissances. J'ai donc développé Ethibox pour apporter une solution alternative, éthique et simple d'utilisation au "cloud" traditionnel.

Qu'est-ce que Ethibox ?

Ethibox est une solution d'auto-hebergement qui facilite l'hébergement et l'utilisation des logiciels libres.

C'est un outil destiné aux développeurs, startups, entreprises et à tous ceux qui souhaitent héberger facilement des applications web tout en gardant le contrôle de leur vie privée.

À la différence des GAFAM (Google, Facebook, Amazon, Microsoft), Ethibox a pour but de contribuer à la décentralisation d'internet, démocratiser l'auto-hébergement et promouvoir les logiciels libres afin de reprendre le contrôle d'internet, de nos données et notre vie privée.

C'est un projet sous licence libre, le code source se trouve sur ce dépôt Github. Une instance de démo est accessible sur demo.ethibox.fr.

Comment ça marche ?

Aucune connaissance n'est requise pour utiliser Ethibox, après vous être inscrit, un simple clic suffit à installer une application.

Se connecter / S'inscrire
Menu principal

Plusieurs types d'applications peuvent être installés, ça peut être :

  • un blog
  • un site e-commerce
  • un tchat vidéo
  • un espace de stockage
  • un forum
  • un réseau social
  • un éditeur de document
  • un moteur de recherche
  • un ERP
  • un wiki
  • un serveur mail
  • un serveur de jeu
  • ect...

En ce qui concerne les détails techniques, Ethibox est une application Isomorphic JavaScript développée avec React, Redux, Semantic-UI et Express.

Deux prérequis sont nécessaires à l'installation d'Ethibox : l'orchestrateur de conteneur Kubernetes et le package manager helm. Personnellement j'utilise un script maison pour installer Kubernetes mais il existe d'autres manières :

Pour installer votre instance Ethibox, c'est helm qui s'en charge :

helm install --namespace kube-system --name ethibox https://github.com/ston3o/ethibox/raw/master/charts/packages/ethibox-0.1.0.tgz

Les détails de l'architecture technique du projet ressemble à ça :

         ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐
         │                      ┌──────────┐                                               │
         │                  ┌──▶│ Mastodon │◀──┐                                           │
         │                  │   └──────────┘   │                                           │
         │                  │                  │                                           │
      80,443   ┌─────────┐  │   ┌──────────┐   │  ┌────────────────┐    ┌──────────────┐   │
User ─────────▶│ traefik │─────▶│ Ghost    │◀─────│ Kubernetes API │◀───│ Helm + swift │   │
         │     └─────────┘  │   └──────────┘   │  └────────────────┘    └──────────────┘   │
         │          │       │                  │           ▲                   ▲           │
         │          │       │   ┌──────────┐   │           │                   │           │
         │          │       └──▶│ ∞        │◀──┘           │                   │           │
         │          │           └──────────┘               │                   │           │
         │          │                                      │                   │           │
         │          │           ┌──────────┐               │      charts       │           │
         │          └──────────▶│ Ethibox  │───────────────┘───────────────────┘           │
         │                      └──────────┘                                               │
         │                                                               Bare metal server │
         └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘

C'est quoi la suite ?

Des fonctionnalités verront le jour, dans un court terme :

  • Un message d'alerte du dépassement des ressources (CPU, RAM, stockage, bande passante)
  • Limiter l'accès d'une instance à certains utilisateurs.

Dans un plus long terme :

  • La possibilité d'utiliser son propre nom de domaine
  • L'activation de certificats Let's encryt pour chaque application
  • Rendre visible une application sur le réseau TOR
  • Déployer des applications custom avec draft.sh
  • Automatiser les sauvegardes d'applications
  • Rendre facilement accessible une instance se trouvant derrière un réseau NAT grâce a un VPN configuré avec une adresse IP publique statique.
  • Faire fonctionner Ethibox sur un cluster de plusieurs nodes kubernetes.

Vous pouvez voter pour l'une de ces fonctionnalités sur le dépôt github. Le développement sera priorisé selon celles qui auront le plus de votes.

D'autres applications vont être ajoutées au catalogue :

Comment contribuer ?

Que vous soyez développeur ou non, si vous aimez le projet, il y a plusieurs façons de montrer votre soutien :

  • Partager cet article
  • Ajouter une "star" sur le dépôt Github
  • Parler d'Ethibox à vos amis
  • Rédiger un article sur Ethibox
  • Démarrer une instance Ethibox
  • Faire une pull request sur github
  • Utiliser ou déployer des sites internet sur des instances Ethibox
  • Me suivre sur Mastodon
  • Faire un don

Conclusion

Cet article fais plus ou moins suite à ce précédent article où j'avais évoqué le développement de ce projet.

Aujourd'hui je vois Ethibox comme une sorte de brique logiciel éthique pouvant être installée sur presque n'importe quel PC chez soit ou chez un hébergeur local.

Mais ce projet peut être vu sous des angles différents :

  • Une nouvelle façon d'héberger des sites internet ?
  • Un moyen simple de déployer des sites internet ?
  • Un moyen pour devenir hébergeur local ?
  • Un store de projets open source ?
  • Un client kubernetes simplifié ?
  • Une solution PAAS ?

À vous d'interpréter le projet comme bon vous semble ;).

Je pense que rien n'est impossible, la preuve, même Mark Zuckerberg semble réfléchir à la décentralisation de Facebook.

Ethibox ne se veut pas comme un concurrent de Yunohost ou Cloudron, à vous d'utiliser la solution qui vous correspond le mieux.

Je n'ai pas encore tout dit sur le projet, je réserve encore d'autres surprises. Inscrivez-vous à la newsletter si vous souhaitez rester informé ou suivez-moi sur Mastodon.

Voilà ! Si vous avez des questions, suggestions ou idées d'améliorations, n'hésitez pas à les soumettre dans les commentaires !

There is no cloud, it's just someone else's computer

ston3o

ston3o

Full-Stack Agile Developer Follow me on Mastodon: https://mastodon.xyz/@ston3o #privacy #selfhosting #security #opensource #piracy

Read More