Files
wiki/Catalogue-Self-Hosted/apps/app-vito.md
T
2026-06-09 18:40:21 +02:00

141 lines
5.3 KiB
Markdown

---
title: Vito
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, deployment, laravel, php, paas]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Deployment, https://github.com/vitodeploy/vito]
---
# 🚀 Vito
> **PaaS self-hosted pour Laravel/PHP** — gérez vos serveurs, sites et applications PHP depuis une seule interface, façon Cloudways ou RunCloud mais en open source.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [vitodeploy.com](https://vitodeploy.com/) |
| **GitHub** | [vitodeploy/vito](https://github.com/vitodeploy/vito) |
| **License** | MIT |
| **Langage** | PHP (Laravel 11) + Livewire |
| **Étoiles GitHub** | 3,1k ⭐ |
| **Catégorie** | [[cat-deployment\|Deployment]] |
| **Cible** | Sites Laravel, WordPress, PHP générique |
## 📝 Description
**Vito** (anciennement *Vitodeploy*) est une **plateforme PaaS spécialisée PHP** qui se distingue des PaaS généralistes (Coolify, CapRover) en intégrant en profondeur les outils de l'écosystème Laravel : queue workers, scheduler (cron), Redis, Horizon, Octane, bref tout ce qu'un développeur Laravel attend sans avoir à le configurer à la main.
L'architecture est en **deux parties** : une **instance centrale Vito** (l'UI) qui orchestre, et un **Worker** déployé sur chaque serveur cible via SSH. Cela permet de gérer depuis la même interface un VPS à 5 €, un dédié OVH et un bare metal Hetzner, sans qu'ils soient dans le même datacenter. Le provisionnement passe par SSH (root ou sudo) : Vito installe Nginx, PHP-FPM, MariaDB/PostgreSQL, Redis, Supervisor, et configure les services tout seul.
**Fonctionnalités principales** :
-**Multi-serveurs** : pilotez des dizaines de serveurs depuis une seule UI
-**Sites Laravel** : déploiement Git (branche configurable), artisan migrate, queue worker, scheduler automatique
-**Sites WordPress, PHP, Node** : profils de déploiement adaptés
-**SSL automatique** via Let's Encrypt (DNS-01 ou HTTP-01)
-**Firewall et SSH** : Vito gère les règles UFW et la config SSH
-**Monitoring intégré** : load, RAM, disque, services down
-**Notifications** : Telegram, Discord, email
-**API REST** + webhooks pour intégration CI/CD
**Public cible** : agences web hébergeant plusieurs clients Laravel, freelances PHP, petites équipes qui veulent remplacer Plesk/Cloudways.
## 🚀 Installation
### Prérequis
- Un serveur (VPS, dédié) avec Ubuntu 22.04+ ou Debian 12+
- Accès root ou sudo
- Un domaine pointant vers le serveur
### Via Docker (recommandé)
```yaml
# docker-compose.yml
services:
vito:
image: vitodeploy/vito:latest
container_name: vito
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- vito-data:/var/www/.vito
- ./ssh-keys:/root/.ssh
environment:
- APP_URL=https://vito.example.com
- DB_HOST=db
- DB_DATABASE=vito
- DB_USERNAME=vito
- DB_PASSWORD=changeme
depends_on:
- db
db:
image: mysql:8.0
restart: unless-stopped
environment:
MYSQL_DATABASE: vito
MYSQL_USER: vito
MYSQL_PASSWORD: changeme
MYSQL_ROOT_PASSWORD:rootpass
volumes:
- vito-db:/var/lib/mysql
volumes:
vito-data:
vito-db:
```
### Installation manuelle (bare metal)
```bash
# Sur Ubuntu 22.04+
curl -sS https://vitodeploy.com/install.sh | sudo bash
```
Suivre ensuite l'assistant web pour créer le compte admin et connecter le premier serveur.
## ⚙️ Configuration
- **Connexion aux serveurs cibles** : ajouter la clé SSH publique générée par Vito dans `~/.ssh/authorized_keys` du serveur cible
- **DNS** : créer un wildcard `*.example.com` pointant vers le serveur
- **Profile de déploiement** : choisir Laravel/WordPress/Node, le profil conditionne l'installation des extensions PHP et la config Nginx
- **Backups** : configurer une destination S3 (ou B2, ou local) et la fréquence
- **Notifications** : ajouter un webhook Telegram/Discord pour recevoir les alertes
## 🔗 Alternatives
- **[[app-cloudpanel]]** — panel PHP/Node généraliste (pas orienté Laravel spécifiquement)
- **Cloudways** — PaaS PHP managé (propriétaire, ~14 $/mois)
- **RunCloud** — gestion de serveur PHP (propriétaire)
- **Plesk / cPanel** — vétérans du hosting mutualisé, plus lourds
- **Laravel Forge** — l'original, mais propriétaire et cher (19 $/mois)
## 🔒 Sécurité
- ⚠️ **Changer le mot de passe DB** par défaut du `docker-compose.yml` ci-dessus
- **Activer 2FA** sur le compte admin Vito
- **Restreindre l'API** : Vito expose une API REST, mettre un reverse proxy avec auth (ex. Authelia) devant
- **Fail2ban** : Vito installe UFW mais pas fail2ban par défaut, l'ajouter pour protéger SSH
- **Isolation des sites** : sur un serveur mutualisé entre plusieurs clients, vérifier que les pools PHP-FPM tournent sous des utilisateurs Unix distincts
## 📚 Ressources
- [Site officiel](https://vitodeploy.com/)
- [Dépôt GitHub](https://github.com/vitodeploy/vito)
- [Documentation](https://vitodeploy.com/docs)
- [Démo live](https://demo.vitodeploy.com/)
## 🔗 Pages Liées
- [[cat-deployment]]
- [[app-portainer]]
- [[app-cloudpanel]]
- [[app-coolify]]
- [[cat-docker]]
- [[securisation-home-lab]]
- [[recettes-docker-compose]]