Initial vault setup
This commit is contained in:
@@ -0,0 +1,114 @@
|
||||
---
|
||||
title: Cosmos Server
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, deployment, paas, docker, leger]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Deployment, https://github.com/azukaar/cosmos-server]
|
||||
---
|
||||
|
||||
# 🚀 Cosmos Server
|
||||
|
||||
> **Le PaaS Docker léger** — UI simple et rapide, proxy inverse intégré, déploiement d'apps en quelques clics, alternative minimaliste à Coolify pour petits homelabs.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Champ | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | [cosmos-cloud.io](https://cosmos-cloud.io/) |
|
||||
| **GitHub** | [azukaar/cosmos-server](https://github.com/azukaar/cosmos-server) |
|
||||
| **License** | MIT |
|
||||
| **Langage** | TypeScript / Node.js |
|
||||
| **Étoiles GitHub** | 5 947 ⭐ |
|
||||
| **Catégorie** | [[cat-deployment\|Deployment & PaaS]] |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
**Cosmos Server** est un **PaaS self-hosted** qui mise sur la **simplicité** et la **légèreté**. Créé par azukaar, c'est un projet plus modeste que Coolify/Dokploy mais qui brille par son **UI rapide et claire**, son **reverse proxy intégré** (Caddy), et son **installateur Docker en une ligne**. Pour un homelabber qui veut **5-10 apps et un proxy inverse** sans la complexité d'un Coolify, Cosmos est une option pertinente.
|
||||
|
||||
Le **core** de Cosmos est un **reverse proxy automatique** (basé sur Caddy) qui détecte les conteneurs Docker avec des labels spécifiques et provisionne les sous-domaines + certificats SSL automatiquement. Par-dessus, une **UI web** permet de gérer les conteneurs, leurs configs, leurs domaines, et leurs **backups** (locale ou S3). L'**app store** propose une sélection d'apps curées (Vaultwarden, Nextcloud, Jellyfin, Gitea, Uptime Kuma, etc.).
|
||||
|
||||
L'**innovation principale** est **Cosmos Cloud** : un **PaaS mutualisé** où plusieurs utilisateurs peuvent déployer leurs apps sur un même cluster, avec une facturation possible. C'est la "version commerciale" mais l'instance self-hosted reste **100% gratuite et open source**.
|
||||
|
||||
**Public cible** : **homelabbers** qui veulent un Coolify allégé, **petites équipes** qui déploient quelques services, **hébergeurs** qui veulent offrir un PaaS mutualisé. Pour un PaaS plus complet, [[app-coolify]] / [[app-dokploy]] ; pour un app store plus grand public, [[app-runtipi]] / [[app-umbrelos]] ; pour un GUI Docker pur, [[app-yacht]].
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Via Docker (recommandé — une seule commande)
|
||||
|
||||
```bash
|
||||
# Script officiel d'installation
|
||||
curl -fsSL https://cosmos-cloud.io/install.sh | bash
|
||||
# UI accessible sur https://IP
|
||||
# Créer le premier compte (devient admin)
|
||||
```
|
||||
|
||||
### docker-compose.yml minimal
|
||||
|
||||
```yaml
|
||||
# docker-compose.yml
|
||||
services:
|
||||
cosmos:
|
||||
image: ghcr.io/azukaar/cosmos-server:latest
|
||||
container_name: cosmos
|
||||
restart: unless-stopped
|
||||
network_mode: host # requis pour le reverse proxy automatique
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- ./data:/data
|
||||
environment:
|
||||
- COSMOS_DOMAIN=cosmos.example.com
|
||||
```
|
||||
|
||||
> ⚠️ Cosmos a besoin de **`network_mode: host`** pour pouvoir gérer le reverse proxy sur 80/443. **Isoler sur un hôte dédié** ou accepter cette contrainte.
|
||||
|
||||
## ⚙️ Configuration
|
||||
|
||||
1. **Premier accès** : `https://cosmos.example.com` (ou `https://IP`), créer un compte admin
|
||||
2. **DNS** : wildcard `*.cosmos.example.com` → IP du serveur (Cosmos configure Caddy)
|
||||
3. **Installer des apps** : App Store → choisir une app → "Install" → Cosmos crée le conteneur + domaine + cert SSL
|
||||
4. **Apps custom** : onglet "New app" → fournir un docker-compose ou un Dockerfile → Cosmos déploie
|
||||
5. **Reverse proxy** : pour une app non-Cosmos, ajouter un **"Host"** dans Cosmos → mapping `app.example.com` → `localhost:port`
|
||||
6. **Backups** : Settings → Storage → S3 (Backblaze, MinIO) ou local, schedule par app
|
||||
7. **Monitoring** : dashboard intégré (CPU, RAM, disque par conteneur) + alertes
|
||||
8. **Mises à jour** : Settings → Update → Cosmos se met à jour + propose les updates d'apps
|
||||
|
||||
## 🔗 Alternatives
|
||||
|
||||
- **Coolify** — PaaS complet, plus de features, UI plus riche
|
||||
- **Dokploy** — concurrent direct, basé sur Traefik, UI Next.js
|
||||
- **Dokku** — PaaS CLI, plus âgé, sans UI web équivalente
|
||||
- **CapRover** — PaaS Swarm, plus ancien
|
||||
- **Runtipi** — app store self-hosted, plus large catalogue
|
||||
- **Caddy + Portainer** — combo DIY : Caddy reverse proxy + Portainer GUI
|
||||
- **Nginx Proxy Manager** — autre reverse proxy UI, sans app store
|
||||
|
||||
## 🔒 Sécurité
|
||||
|
||||
- **Compte admin + 2FA** : obligatoire dès l'install
|
||||
- **HTTPS automatique** : Caddy + Let's Encrypt, renouvellement géré
|
||||
- **Authentification par app** : Cosmos gère OAuth/OIDC, support des SSO externes
|
||||
- **Network mode host** = surface réseau plus large → **isoler Cosmos sur un hôte dédié**
|
||||
- **Sauvegarder** `./data` régulièrement (config Cosmos + état apps)
|
||||
- **Mettre à jour** fréquemment (correctifs Caddy, deps)
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- [Site officiel](https://cosmos-cloud.io/)
|
||||
- [Documentation](https://cosmos-cloud.io/docs)
|
||||
- [Dépôt GitHub azukaar/cosmos-server](https://github.com/azukaar/cosmos-server)
|
||||
- [Communauté Discord](https://discord.gg/cosmos-cloud)
|
||||
- [Cosmos vs Coolify (Reddit)](https://www.reddit.com/r/selfhosted/)
|
||||
|
||||
## 🔗 Pages Liées
|
||||
|
||||
- [[cat-deployment]]
|
||||
- [[app-coolify]]
|
||||
- [[app-dokploy]]
|
||||
- [[app-runtipi]]
|
||||
- [[app-portainer]]
|
||||
- [[cat-docker]]
|
||||
- [[securisation-home-lab]]
|
||||
- [[recettes-docker-compose]]
|
||||
Reference in New Issue
Block a user