[{"data":1,"prerenderedAt":186},["ShallowReactive",2],{"seo-verification":3,"blog-self-host-kener-vps-fr":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-self-host-kener-vps-fr",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":124,"ctaBody":125,"ctaButton":126,"ctaUrl":127,"relatedPosts":128},543,"self-host-kener-vps",{"fr":10,"en":12,"ar":13,"es":14},"self-host-kener-vps-status-page","استضافة-kener-على-vps-صفحة-حالة","autoalojar-kener-vps-pagina-de-estado","Kener sur VPS : une page de statut pour vos services","Installez Kener sur un VPS : page de statut open source avec sondes intégrées, incidents, maintenances planifiées et abonnés prévenus par e-mail.",6,0,false,"2026-10-31T00:00:00+00:00","2026-10-31T19:07:30+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-kener-vps-poster.svg",{"categorySlug":34,"appSlug":35},"monitoring","kener","Quand votre service tombe, la première question de vos clients est « est-ce que c'est chez moi ou chez vous ? ». Une page de statut y répond avant qu'ils n'écrivent au support. Kener est une page de statut open source (licence MIT) qui surveille elle-même ce qu'elle affiche : sondes HTTP, TCP, DNS, SSL et heartbeat, historique de disponibilité, incidents avec chronologie, maintenances planifiées et abonnements e-mail. Ce guide l'installe avec Docker Compose sur un VPS, la publie en HTTPS derrière nginx, puis configure les sondes, les incidents et les alertes.",[38,42,52,86,89,105,109,112,115,118,121],{"type":39,"title":40,"body":41},"h2","Pourquoi une page de statut publique","Un outil de supervision dit à votre équipe qu'un service est en panne. Une page de statut le dit à vos utilisateurs — et c'est souvent ce qui manque pendant un incident : les clients ne savent pas si le problème vient d'eux, ouvrent des tickets en double et relancent sur les réseaux sociaux.\n\nKener réunit les deux rôles. Ses sondes vérifient vos services à intervalle régulier et publient l'historique de disponibilité ; quand un incident survient, vous y ajoutez des mises à jour que chacun lit au même endroit. Héberger cette page vous-même évite un abonnement à un service de statut facturé par abonné ou par page, et garde vos données de supervision chez vous.",{"type":43,"title":44,"items":45},"ul","Ce que Kener apporte",[46,47,48,49,50,51],"**Sondes intégrées** — API et HTTP, ping, TCP, DNS, SSL, SQL et heartbeat pour les tâches planifiées.","**Incidents avec chronologie** — chaque mise à jour reste visible, de la détection à la résolution.","**Maintenances planifiées** — annoncées à l'avance, sans fausse alerte pendant l'intervention.","**Abonnements e-mail** — vos visiteurs s'abonnent aux incidents et maintenances qui les concernent.","**Alertes d'équipe** — webhook, Slack, Discord et e-mail, avec des modèles de messages.","**À votre image** — logo, couleurs, thème clair ou sombre, plusieurs pages, badges et widgets.",{"type":53,"title":54,"headers":55,"rows":59},"comparison","Kener, Uptime Kuma et Gatus",[5,56,57,58],"Kener","Uptime Kuma","Gatus",[60,65,70,74,78,81],[61,62,63,64],"Rôle principal","Page de statut avec supervision intégrée","Supervision avec pages de statut en option","Supervision déclarée en YAML",[66,67,68,69],"Configuration","Interface d'administration web","Interface web","Fichier YAML",[71,72,73,73],"Abonnements e-mail des visiteurs","Oui (SMTP ou Resend)","Non",[75,76,76,77],"Plusieurs pages de statut","Oui","Non, un tableau unique",[79,76,76,80],"Maintenances planifiées","Oui, déclarées en YAML",[82,83,84,85],"Stockage","SQLite, PostgreSQL ou MySQL, plus Redis","SQLite ou MariaDB","Mémoire, SQLite ou PostgreSQL",{"type":39,"title":87,"body":88},"Prérequis","Un VPS Ubuntu 24.04 avec 1 Go de RAM et 10 Go de disque, Docker et le plugin Compose installés, et un nom d'hôte qui pointe vers le VPS — par exemple `status.example.com`. Kener a besoin de connaître son adresse publique : la variable `ORIGIN` sert à sa protection contre les requêtes intersites, et toute requête d'une autre origine est refusée. Prévoyez aussi nginx et Certbot pour le HTTPS.",{"type":90,"title":91,"steps":92},"steps","Installer Kener avec Docker Compose",[93,96,99,102],{"title":94,"body":95},"Préparer le répertoire et la clé secrète","Créez le répertoire de l'application et un fichier `.env` qui porte la clé de signature des sessions et l'adresse publique.\n```bash\nmkdir -p \u002Fopt\u002Fkener && cd \u002Fopt\u002Fkener\necho \"SECRET_KEY=$(openssl rand -hex 32)\" > .env\necho \"DOMAIN=status.example.com\" >> .env\nchmod 600 .env\n```",{"title":97,"body":98},"Écrire le fichier docker-compose.yml","Deux services : Redis, qui porte les files de tâches et l'ordonnanceur des sondes, et Kener, avec sa base SQLite dans un volume. Le port n'est publié que sur la boucle locale : seul nginx y accède.\n```yaml\nservices:\n  redis:\n    image: redis:7.4-alpine\n    restart: unless-stopped\n    command: [\"redis-server\", \"--appendonly\", \"yes\"]\n    volumes:\n      - kener-redis:\u002Fdata\n    healthcheck:\n      test: [\"CMD\", \"redis-cli\", \"ping\"]\n      interval: 10s\n      timeout: 5s\n      retries: 10\n\n  kener:\n    image: rajnandan1\u002Fkener:4.1.10\n    restart: unless-stopped\n    depends_on:\n      redis:\n        condition: service_healthy\n    ports:\n      - \"127.0.0.1:3000:3000\"\n    environment:\n      KENER_SECRET_KEY: ${SECRET_KEY}\n      ORIGIN: https:\u002F\u002F${DOMAIN}\n      REDIS_URL: redis:\u002F\u002Fredis:6379\n      DATABASE_URL: sqlite:\u002F\u002F.\u002Fdatabase\u002Fkener.sqlite.db\n    volumes:\n      - kener-data:\u002Fapp\u002Fdatabase\n\nvolumes:\n  kener-data: {}\n  kener-redis: {}\n```",{"title":100,"body":101},"Démarrer et vérifier","Lancez la pile puis interrogez le point de santé : il répond dès que l'application est prête, en général en une quinzaine de secondes.\n```bash\ndocker compose up -d\ndocker compose ps\ncurl -fsS http:\u002F\u002F127.0.0.1:3000\u002Fhealthcheck\n```",{"title":103,"body":104},"Publier en HTTPS avec nginx","Créez un vhost qui transmet les requêtes à Kener, puis obtenez le certificat avec `certbot --nginx -d status.example.com`.\n```nginx\nserver {\n    listen 443 ssl http2;\n    server_name status.example.com;\n    # ssl_certificate \u002F ssl_certificate_key: added by Certbot\n\n    location \u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:3000;\n        proxy_set_header Host $host;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection \"upgrade\";\n    }\n}\n```",{"type":106,"title":107,"body":108},"tip","Créez le compte administrateur sans attendre","Kener ne crée aucun compte à l'avance : le premier visiteur de `\u002Faccount\u002Fsignin` voit le formulaire **Create Admin Account** et devient administrateur. Ouvrez cette page dès que le HTTPS fonctionne et créez votre compte avec un mot de passe solide. Ensuite le formulaire disparaît et toute nouvelle création est refusée.",{"type":39,"title":110,"body":111},"Créer vos premières sondes","Dans l'administration, chaque moniteur correspond à une ligne de la page publique. Commencez par trois sondes : une sonde **API** sur la page d'accueil ou un point de santé de votre application (code HTTP attendu, délai maximal), une sonde **SSL** qui passe en alerte quelques jours avant l'expiration du certificat, et une sonde **TCP** sur le port de votre base de données si elle est joignable depuis le VPS.\n\nPour une tâche planifiée — sauvegarde, export, synchronisation — utilisez une sonde **heartbeat** : c'est la tâche qui appelle Kener à la fin de son exécution, et l'absence de signal à l'heure prévue déclenche la panne.\n```bash\n# at the end of your backup script\ncurl -fsS -m 10 https:\u002F\u002Fstatus.example.com\u002Fext\u002Fheartbeat\u002Fnightly-backup\u002FYOUR_SECRET\n```\n\nRegroupez les moniteurs par service (site, API, paiement) pour que la page reste lisible, et masquez ceux qui ne concernent que l'équipe.",{"type":39,"title":113,"body":114},"Déclarer un incident et planifier une maintenance","Un incident se crée depuis l'administration : titre, moniteurs touchés, gravité, puis des mises à jour successives — « enquête en cours », « cause identifiée », « résolu ». Chaque mise à jour reste visible dans la chronologie, ce qui vaut mieux qu'un message unique modifié au fil de l'eau.\n\nUne maintenance se planifie à l'avance avec sa fenêtre de début et de fin. Elle s'affiche sur la page avant l'intervention, et les moniteurs concernés ne comptent pas l'interruption comme une panne.",{"type":39,"title":116,"body":117},"Prévenir votre équipe et vos utilisateurs","Deux circuits distincts. Pour l'équipe, les alertes se déclenchent sur l'état d'un moniteur et partent vers un webhook, Slack, Discord ou un e-mail, avec des modèles de messages réglables. Pour les visiteurs, les abonnements leur envoient les incidents et maintenances par e-mail, après confirmation de leur adresse par un code.\n\nLes deux supposent un envoi d'e-mails configuré : ajoutez à l'environnement du service `kener` les variables `SMTP_HOST`, `SMTP_PORT`, `SMTP_USER`, `SMTP_PASSWORD` et `SMTP_SENDER`, ou `RESEND_API_KEY` et `RESEND_SENDER_EMAIL`, puis relancez avec `docker compose up -d`. Activez ensuite les abonnements dans l'administration.",{"type":39,"title":119,"body":120},"Sauvegarde et mise à jour","Toute la configuration et l'historique vivent dans la base SQLite du volume `kener-data` ; Redis ne porte que des files et du cache. Sauvegardez le volume après un court arrêt du service pour obtenir une copie cohérente :\n```bash\ncd \u002Fopt\u002Fkener\ndocker compose stop kener\ndocker run --rm -v kener_kener-data:\u002Fdata -v \"$PWD\":\u002Fbackup alpine \\\n  tar czf \u002Fbackup\u002Fkener-$(date +%F).tar.gz -C \u002Fdata .\ndocker compose start kener\n```\n\nPour mettre à jour, lisez les notes de version sur la page des releases du dépôt, changez l'étiquette de l'image dans `docker-compose.yml`, puis lancez `docker compose pull && docker compose up -d`. Le conteneur met sa base à jour au démarrage : faites la sauvegarde avant.",{"type":39,"title":122,"body":123},"Installation en un clic depuis le Marketplace ServOrbit","Sur un VPS ServOrbit, Kener s'installe depuis le Marketplace de votre espace client : choisissez l'adresse — un sous-domaine de l'un de vos domaines ou le sous-domaine gratuit du VPS, HTTPS compris — et cliquez sur Installer. Le script déploie Kener et Redis, génère la clé secrète, règle l'adresse publique et configure nginx. Il ne vous reste qu'à ouvrir `\u002Faccount\u002Fsignin` pour créer le compte administrateur, puis à ajouter vos sondes.","Votre page de statut, sur votre VPS","Un VPS ServOrbit Ubuntu 24.04 avec 1 Go de RAM suffit pour Kener. Installation en un clic depuis le Marketplace, HTTPS sur votre domaine ou sur le sous-domaine gratuit du VPS, clé secrète générée pour vous.","Installer Kener","\u002Fmarketplace\u002Fmonitoring\u002Fkener",[129,151,170],{"id":130,"slug":131,"slugs":132,"title":136,"excerpt":137,"readTime":138,"views":18,"isPinned":19,"publishedAt":139,"updatedAt":140,"category":141,"categories":146,"featuredImage":30,"bgImage":31,"posterImage":148,"relatedSolution":149},105,"superviser-vps-uptime-kuma",{"fr":131,"en":133,"ar":134,"es":135},"monitoring-your-vps-with-uptime-kuma","مراقبة-خادمك-الافتراضي-vps-باستخدام-uptime-kuma","supervisar-vps-con-uptime-kuma","Superviser votre VPS avec Uptime Kuma","Déployez Uptime Kuma sur votre VPS pour surveiller vos sites et services en self-hosted, avec alertes et page de statut publique.",8,"2026-03-07T00:00:00+00:00","2026-10-23T23:43:01+00:00",{"id":138,"name":142,"slug":143,"color":144,"icon":145},"Sécurité & Monitoring","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[147],{"id":138,"name":142,"slug":143,"color":144,"icon":145},"\u002Fblog\u002Fcovers\u002Fsuperviser-vps-uptime-kuma-poster.svg",{"categorySlug":34,"appSlug":150},"uptime-kuma",{"id":152,"slug":153,"slugs":154,"title":158,"excerpt":159,"readTime":160,"views":161,"isPinned":19,"publishedAt":162,"updatedAt":163,"category":164,"categories":165,"featuredImage":30,"bgImage":31,"posterImage":167,"relatedSolution":168},209,"self-host-gatus-vps",{"fr":153,"en":155,"ar":156,"es":157},"self-host-gatus-on-a-vps-config-as-code-status-page-and-checks","استضافة-gatus-على-vps-صفحة-حالة-بالكود-ومراقبة-شاملة","alojar-gatus-en-un-vps","Héberger Gatus sur un VPS : page de statut config-as-code","Déployez Gatus sur votre VPS ServOrbit : page de statut publique et checks HTTP, TCP, DNS, ICMP et expiration TLS pilotés par un seul fichier YAML, 40+ canaux d'alerte.",4,1,"2026-08-02T00:00:00+00:00","2026-09-11T11:34:11+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[166],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fself-host-gatus-vps-poster.svg",{"categorySlug":34,"appSlug":169},"gatus",{"id":171,"slug":172,"slugs":173,"title":177,"excerpt":178,"readTime":179,"views":18,"isPinned":19,"publishedAt":180,"updatedAt":181,"category":182,"categories":183,"featuredImage":30,"bgImage":31,"posterImage":185,"relatedSolution":30},541,"monitoring-disponibilite-sites-clients-agence-rapport",{"fr":172,"en":174,"ar":175,"es":176},"monitor-client-site-availability-agency-monthly-report","مراقبة-توفر-مواقع-العملاء-الوكالة-التقرير-الشهري","monitorizar-disponibilidad-sitios-clientes-agencia-informe-mensual","Surveiller la disponibilité des sites clients : rapport mensuel","Sondes, nombre de vérifications avant alerte, fenêtres de maintenance et rapport mensuel : surveiller les sites clients d'une agence sans se noyer sous les faux positifs.",10,"2026-10-30T00:00:00+00:00","2026-10-31T01:54:06+00:00",{"id":138,"name":142,"slug":143,"color":144,"icon":145},[184],{"id":138,"name":142,"slug":143,"color":144,"icon":145},"\u002Fblog\u002Fcovers\u002Fmonitoring-disponibilite-sites-clients-agence-rapport-poster.svg",1793480270401]