Yundera AppStore
Configuration et deploiement d'applications Docker pour la plateforme cloud Yundera
Contexte
Yundera est une plateforme cloud personnelle developpee par Aptero, permettant aux utilisateurs de deployer facilement des applications open source sur leur propre serveur. La plateforme s'appuie sur CasaOS, une interface Docker simplifiee, et utilise le service nsl.sh comme mesh router pour fournir des domaines HTTPS automatiques.
Contrairement aux AppStores CasaOS classiques (
http://app.casaos.io:5230),
les applications Yundera sont accessibles via HTTPS par defaut (https://app-demo.nsl.sh).
Ma Mission
Durant mon stage, j'ai ete charge de :
- Adapter les configurations Docker : Modifier les fichiers docker-compose existants pour les rendre compatibles avec l'architecture Yundera (mesh router, HTTPS, ports)
- Tester les applications : Valider le bon fonctionnement de chaque application sur l'infrastructure Yundera
- Former l'equipe : Transmettre les connaissances acquises sur Docker et CasaOS aux collegues
- Documenter : Contribuer a la documentation du projet
Resultats & Impact
- Applications orientees collaboration open source pour startups
- Presentation aux salons des startups en Coree et en Chine
- Signature de partenariats avec des universites coreennes
Formation Dispensee
Profil Commercial
Formation sur la comprehension de la solution Yundera : architecture, proposition de valeur, cas d'usage clients.
Profil Technique
Definition des protocoles d'implementation pour l'ajout de nouvelles applications dans l'AppStore.
Applications Configurees
J'ai configure et teste plusieurs categories d'applications :
Analytics & Database
- Metabase - BI & Visualisation
- PostgreSQL - Base de donnees
- MongoDB - NoSQL
Communication
- RocketChat - Chat d'equipe
- Matrix/Synapse - Messagerie
IA & Outils
- Ollama - LLM local
- Gitea - Git self-hosted
Home & Media
- Jellyfin - Media server
- Nextcloud - Cloud personnel
Architecture Technique
┌─────────────────────────────────────────────────────────┐
│ Utilisateur │
│ app-demo.nsl.sh │
└─────────────────────┬───────────────────────────────────┘
│ HTTPS
▼
┌─────────────────────────────────────────────────────────┐
│ Mesh Router (nsl.sh) │
│ Routing automatique + SSL │
└─────────────────────┬───────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ CasaOS / CasaIMG │
│ Interface de gestion Docker │
├─────────────────────────────────────────────────────────┤
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────┐ │
│ │ Metabase │ │ Postgres │ │ Ollama │ │ ... │ │
│ │ :3000 │ │ :5432 │ │ :11434 │ │ │ │
│ └──────────┘ └──────────┘ └──────────┘ └────────┘ │
│ Docker Containers │
└─────────────────────────────────────────────────────────┘
Exemple de Configuration
Structure d'une application dans l'AppStore :
# docker-compose.yml pour Metabase
name: metabase
services:
metabase:
image: metabase/metabase:latest
container_name: metabase
restart: unless-stopped
ports:
- "3000:3000"
environment:
- MB_DB_TYPE=postgres
- MB_DB_HOST=postgres
volumes:
- metabase_data:/metabase-data
networks:
- metabase_network
# Labels CasaOS pour l'interface
x-casaos:
title:
en_us: Metabase
category: Analytics
port_map: "3000"