Je vais déployer une application Next.js Node.js avec Docker Nginx CI/CD sur VPS AWS
Ingénieur DevOps senior, expert en sécurité réseau et Linux
À propos de ce service
Je suis administrateur système/neteng depuis bien avant que le terme « DevOps » n’existe. Cela signifie que lorsque je configure votre pipeline, je ne me contente pas de copier un modèle YAML, je sais ce qui se passe en cas de problème réseau, lorsque le disque est plein, ou quand le OOM killer intervient à 3 heures du matin.
Ce que vous obtenez :
Dockerfile écrit pour la production en multi-étapes, sans root, réduit à moins de 100 Mo, contre 1,2 Go par défaut
Nginx avec TLS correct (Let's Encrypt, renouvellement automatique via systemd timer), en-têtes de sécurité, gzip, règles de cache pour _next/static
Workflow GitHub Actions : build, test, scan Trivy, déploiement, test de fumée, rollback en cas d’échec
Zéro temps d’arrêt via systemd (ou PM2 si vous préférez) : l’ancien container reste en ligne jusqu’à ce que le nouveau passe le contrôle de santé
UFW + fail2ban configuration de base car exposer SSH sur le port 22 est la porte d’entrée pour les incidents
Runbook (PDF) diagramme d’architecture, arbre de dépannage, « que faire quand... » pour ne pas m’appeler à minuit
Stack que j’utilise quotidiennement : GitHub Actions / GitLab CI, Docker, Nginx/Traefik, AWS (EC2, RDS, ALB, S3), Hetzner/DO/VPS, sécurisation Linux, Terraform quand vous avez besoin d’IaC.
Packages :
Basic un service, uniquement en prod, 3 jours
Standard FE + API + BDD, staging + prod avec approbation, 5 jours
Premium LB, auto-scalabilité, Prometheus/Grafana/Loki
Mon portfolio
Autres services de Ingénierie DevOps I Offre
FAQ
Traduction automatique
Comment accédez-vous à mon serveur ? Est-ce sécurisé ?
Vous ajoutez ma clé publique SSH à ~/.ssh/authorized_keys (ou accordez un accès IAM temporaire pour AWS). Je ne demande jamais de mots de passe. La clé est supprimée après livraison.
Et si mon application n’est pas Next.js / Node.js ?
Je supporte Python (FastAPI/Django), Go, PHP (Laravel), Java (Spring Boot). Contactez-moi d’abord — je confirmerai la stack et ajusterai le Dockerfile/les vérifications de santé en conséquence.
Y aura-t-il une interruption lors du déploiement ?
Basique : environ 15 secondes (redémarrage systemd). Standard/Premium : zéro temps d’arrêt — le nouveau container doit passer les vérifications de santé avant que le trafic ne soit redirigé. Déploiement échoué = rollback automatique.

