Stage Aptero - DevOps

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.

Particularite Yundera
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 :

Resultats & Impact

8
Applications deployees
2
Personnes formees
2
Salons internationaux
Impact business
  • 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"

Competences Acquises

Docker Docker Compose CasaOS Linux Networking HTTPS/SSL YAML

Ressources