Aller au contenu principal

Contribuer au Yundera App Store

Le Yundera App Store est une collection open source et organisée d'applications basées sur Docker. Tout le monde peut contribuer une nouvelle application ou améliorer une existante.

Source de vérité

Le CONTRIBUTING.md dans le dépôt AppStore est la référence officielle. Ce guide développeur fournit une orientation et une référence rapide ; en cas de doute, le CONTRIBUTING.md prévaut.

Dépôts

DépôtObjectif
Yundera/AppStoreApp store officiel distribué à chaque PCS
Yundera/AppStoreLabStore de staging pour tester avant la promotion en production

Flux de contribution

  1. Construisez votre app sous Apps/{NomApp}/ en suivant la structure de fichiers et les conventions.
  2. Testez localement sur votre propre PCS : installation propre, désinstallation/réinstallation (données préservées) et mise à jour.
  3. Forkez le dépôt, testez en pointant la source App Store vers votre fork (et/ou mettez en staging dans AppStoreLab).
  4. Ouvrez une PR avec tous les fichiers requis et chaque élément de la checklist validé.
  5. Mettez à jour les URLs d'assets pour pointer vers la branche main avant le merge (Yundera/AppStore@main, pas votre fork).

Structure du dossier app

Apps/{NomApp}/
├── docker-compose.yml # Requis — la définition de l'app
├── icon.png # Requis — 192×192 px, fond transparent
├── thumbnail.png # Requis — 784×442 px
├── screenshot-1.png # Requis — 1280×720 px (au moins un)
└── rationale.md # Requis seulement en cas de déviation des conventions

Conventions essentielles (aide-mémoire)

DomaineRègle
Tags d'imageVersion fixée (ex. :0.1.2). Jamais :latest.
cpu_sharesRequis sur chaque service. Échelle : 10–100.
Utilisateuruser: $PUID:$PGID pour les répertoires utilisateur. Root uniquement pour /DATA/AppData/{NomApp}/.
DonnéesPersister sous /DATA/AppData/$AppID/. Doit survivre à la désinstallation/réinstallation.
RéseauRejoindre le réseau externe pcs. Utiliser expose: (pas ports:).
AuthObligatoire, activée par défaut. Utiliser le sidecar AppShield ou l'auth intégrée de l'app.
AssetsURLs via jsDelivr : https://cdn.jsdelivr.net/gh/Yundera/AppStore@main/Apps/{NomApp}/{fichier}

Pour la spécification complète, voir Ajouter une App.