DOC
Accueil/ Projets/ VPS Hostinger - Stack ENGWE/ 00 - Démarrage rapide (checklist complète, du PC au déploiement)

00 - Démarrage rapide (checklist complète, du PC au déploiement)

Ce document réunit toutes les étapes dans l'ordre, avec les commandes, pour le parcours recommandé (Coolify). Coche au fur et à mesure. Chaque étape renvoie au guide détaillé correspondant si tu veux le contexte.

Légende : 💻 = sur ton PC (PowerShell) · 🖥️ = sur le VPS (SSH) · 🌐 = dans le navigateur


Secrets à préparer AVANT de commencer

Ouvre un bloc-notes et rassemble ces valeurs (tu les colleras au fur et à mesure) :

Les mots de passe des bases / clés maîtresses se génèrent sur le VPS avec :

openssl rand -base64 24

Étape 1 - 💻 Générer ta clé SSH + 🌐 créer les DNS

1a. Clé SSH (sur ton PC). Si tu n'en as pas encore :

ssh-keygen -t ed25519 -C "engwe-vps"
Get-Content $HOME\.ssh\id_ed25519.pub   # copie toute la ligne affichée

1b. Enregistrements DNS. Dans l'éditeur DNS de engwe-france.fr (Shopify), crée un enregistrement A par service, tous vers l'IP du VPS :

Nom (hôte) Service
coolify-it Admin Coolify
n8n-it n8n
chat-it Open WebUI
data-it NocoDB
mongo-it Mongo Express
uptime-it Uptime Kuma
portainer-it Portainer
api-it FastAPI
<appli>-it (une par appli GitHub à venir)

La racine engwe-france.fr reste intacte (ton site Shopify). Détails : 03-dns-et-reverse-proxy.md §1.


Étape 1bis - 🌐 Vérifier le pare-feu hPanel (piège fréquent Hostinger)

En plus d'UFW (étape 2), hPanel a un pare-feu cloud séparé (hPanel → VPS → Firewall). S'il y en a un d'attaché à ton VPS, il doit autoriser en TCP : 22, 80, 443, et temporairement 8000 (UI Coolify, étape 3). Sinon un port peut être "ALLOW" dans UFW et quand même bloqué depuis Internet. Détails : 01-serveur-initial.md §1bis.


Étape 2 - 🖥️ Durcir le serveur (une seule fois)

Connecte-toi en root, crée le script de durcissement, édite NEW_USER + SSH_PUBKEY, puis lance-le :

ssh root@IP_DU_VPS
nano 01-bootstrap.sh          # colle le contenu de scripts/01-bootstrap.sh
                              # (NEW_USER="engwe-seer" et SSH_PUBKEY="ta clé publique")
chmod +x 01-bootstrap.sh
./01-bootstrap.sh

Il crée l'utilisateur engwe-seer, installe ta clé (pour lui et pour root), désactive le mot de passe en SSH (root ne reste joignable que par clé, jamais par mot de passe - requis par Coolify), configure UFW (22/80/443), fail2ban, mises à jour auto, swap 2 Go.

⚠️ Vérifie dans un NOUVEAU terminal avant de fermer root :

ssh engwe-seer@IP_DU_VPS
sudo whoami                   # doit répondre : root

Détails : 01-serveur-initial.md.


Étape 3 - 🖥️ Installer Coolify

Connecté en engwe, ouvre temporairement le port de l'UI puis lance l'installeur (il installe Docker tout seul) :

sudo ufw allow 8000/tcp
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash

Avant d'ouvrir le navigateur, vérifie sur le VPS que ça tourne bien :

sudo docker ps                       # conteneurs "coolify*" en "Up"
curl -I http://localhost:8000        # doit répondre 200/30x, pas "Connection refused"

🌐 Crée ton compte admin sur http://IP_DU_VPS:8000 (le 1er compte = admin). Puis Settings → Configuration : mets le domaine https://coolify-it.engwe-france.fr

  • ton email (SSL automatique). Referme le port :
sudo ufw delete allow 8000/tcp

Ça ne répond toujours pas depuis ton PC ? → hPanel → VPS → Firewall (étape 1bis) est la cause n°1, avant de suspecter autre chose. Checklist complète : 06-coolify.md §Dépannage.

Détails : 06-coolify.md §1–4.


Étape 4 - 🌐 Déployer les services (catalogue 1-clic Coolify)

Dans Coolify : Project → Add Resource → Services. Ajoute, en donnant à chacun son sous-domaine -it :

  • PostgreSQL (interne, pas de domaine)
  • MongoDB (interne)
  • n8nn8n-it.engwe-france.fr (relie-le à PostgreSQL)
  • NocoDBdata-it.engwe-france.fr
  • Mongo Expressmongo-it.engwe-france.fr (+ auth)
  • Uptime Kumauptime-it.engwe-france.fr
  • Portainer (optionnel) → portainer-it.engwe-france.fr

Secrets des services : onglet Environment Variables de chaque resource (chiffrés). Détails : 06-coolify.md §5.


Étape 5 - 🌐 Brancher les IA sur Open WebUI (OpenRouter + Claude)

5a. Déployer LiteLLM (passerelle Claude) dans Coolify :

  • Add Resource → Application → Docker Image : ghcr.io/berriai/litellm:main-latest
  • Command : --config /app/config.yaml --port 4000
  • Storages → mount : le fichier docker/litellm/config.yaml vers /app/config.yaml
  • Env (secrets) : ANTHROPIC_API_KEY=sk-ant-... et LITELLM_MASTER_KEY=<openssl rand -base64 24>

5b. Déployer Open WebUIchat-it.engwe-france.fr, avec 2 connexions :

OPENAI_API_BASE_URLS = https://openrouter.ai/api/v1;http://litellm:4000/v1
OPENAI_API_KEYS      = <ta clé OpenRouter>;<ta LITELLM_MASTER_KEY>

(mets LiteLLM et Open WebUI dans le même projet Coolify pour qu'ils se voient.)

5c. 🌐 Limiter les modèles (OpenRouter en expose des centaines) : Admin → Settings → Connections → OpenRouter → Model IDs = ta liste blanche. Voir la sélection recommandée + garde-fous de coût dans 07-openwebui-modeles.md.

Claude en direct apparaît via LiteLLM : claude-opus-4-8, claude-sonnet-5, claude-haiku-4-5. Le reste vient d'OpenRouter.


Étape 6 - 🌐 Connecter ton organisation GitHub + déployer une appli

6a. Connecter l'org (tu es owner, donc pas de blocage) : Coolify → Settings → Sources → Add → GitHub App → installe l'app sur ton organisation (menu déroulant), choisis All repositories (ou une sélection).

6b. Déployer une appli : Project → Add Resource → Application → ta source GitHub App → le repo. Coolify détecte Dockerfile / Nixpacks / compose. Renseigne :

  • Domain : <appli>-it.engwe-france.fr (crée l'enregistrement DNS A avant)
  • Environment Variables : tes clés/secrets
  • Health Check : ex. /health
  • Deploy ✅ - ensuite chaque git push redéploie.

6c. (Recommandé) Tests avant déploiement - 3 options, voir 06-coolify.md §6 :

  1. RUN pytest dans le Dockerfile (le plus simple),
  2. Pre-deployment command dans Coolify,
  3. GitHub Actions (.github/workflows/deploy.yml) qui teste puis appelle le webhook Coolify. Astuce org : mets COOLIFY_TOKEN en secret d'organisation.

Étape 7 - 🖥️ Sauvegardes & supervision

  • Backups planifiés des bases : onglet Backups de chaque base dans Coolify (local ou S3).
  • Copie hors-VPS régulière des sauvegardes.
  • Uptime Kuma : ajoute un moniteur HTTP(s) par service + alertes (email/Telegram/n8n).
  • RAM : docker stats / free -h de temps en temps (stack ≈ 2,6 Go / 8 Go).

Détails : 05-maintenance-sauvegardes.md.


En cas de blocage

Avant de chercher au hasard : 08-erreurs-connues.md recense les erreurs déjà rencontrées à chaque étape (SSH, validation Coolify, permissions, réseaux Docker entre services) avec leur fix exact.

Récap ultra-court (si tu es pressé)

1. PC   : ssh-keygen  +  créer les A records *-it → IP
2. root : bootstrap (user engwe-seer, SSH durci, UFW, swap)  → vérifier ssh engwe-seer@
3. engwe-seer: ufw allow 8000 ; install Coolify ; compte admin ; domaine coolify-it ; ufw delete 8000
4. Coolify UI : services 1-clic (Postgres, Mongo, n8n, NocoDB, Mongo Express, Uptime Kuma)
5. Coolify UI : LiteLLM (config.yaml + ANTHROPIC_API_KEY) ; Open WebUI (2 connexions) ; limiter les modèles
6. Coolify UI : GitHub App sur l'org ; déployer un repo ; tests → deploy
7. Backups + moniteurs Uptime Kuma