[{"data":1,"prerenderedAt":187},["ShallowReactive",2],{"seo-verification":3,"blog-self-host-kener-vps-ma-fr":6,"promo-bar-likely":20},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-self-host-kener-vps-ma-fr",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":20,"publishedAt":21,"updatedAt":22,"category":23,"categories":29,"featuredImage":31,"bgImage":32,"posterImage":33,"relatedSolution":34,"intro":37,"sections":38,"ctaTitle":125,"ctaBody":126,"ctaButton":127,"ctaUrl":128,"relatedPosts":129},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,true,"2026-10-31T00:00:00+00:00","2026-11-04T16:30:29+00:00",{"id":24,"name":25,"slug":26,"color":27,"icon":28},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[30],{"id":24,"name":25,"slug":26,"color":27,"icon":28},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-kener-vps-poster.svg",{"categorySlug":35,"appSlug":36},"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.",[39,43,53,87,90,106,110,113,116,119,122],{"type":40,"title":41,"body":42},"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":44,"title":45,"items":46},"ul","Ce que Kener apporte",[47,48,49,50,51,52],"**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":54,"title":55,"headers":56,"rows":60},"comparison","Kener, Uptime Kuma et Gatus",[5,57,58,59],"Kener","Uptime Kuma","Gatus",[61,66,71,75,79,82],[62,63,64,65],"Rôle principal","Page de statut avec supervision intégrée","Supervision avec pages de statut en option","Supervision déclarée en YAML",[67,68,69,70],"Configuration","Interface d'administration web","Interface web","Fichier YAML",[72,73,74,74],"Abonnements e-mail des visiteurs","Oui (SMTP ou Resend)","Non",[76,77,77,78],"Plusieurs pages de statut","Oui","Non, un tableau unique",[80,77,77,81],"Maintenances planifiées","Oui, déclarées en YAML",[83,84,85,86],"Stockage","SQLite, PostgreSQL ou MySQL, plus Redis","SQLite ou MariaDB","Mémoire, SQLite ou PostgreSQL",{"type":40,"title":88,"body":89},"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":91,"title":92,"steps":93},"steps","Installer Kener avec Docker Compose",[94,97,100,103],{"title":95,"body":96},"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":98,"body":99},"É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":101,"body":102},"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":104,"body":105},"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":107,"title":108,"body":109},"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":40,"title":111,"body":112},"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":40,"title":114,"body":115},"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":40,"title":117,"body":118},"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":40,"title":120,"body":121},"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":40,"title":123,"body":124},"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","\u002Fapplications\u002Fmonitoring\u002Fkener",[130,152,171],{"id":131,"slug":132,"slugs":133,"title":137,"excerpt":138,"readTime":139,"views":18,"isPinned":19,"noindex":19,"publishedAt":140,"updatedAt":141,"category":142,"categories":147,"featuredImage":31,"bgImage":32,"posterImage":149,"relatedSolution":150},105,"superviser-vps-uptime-kuma",{"fr":132,"en":134,"ar":135,"es":136},"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-11-09T20:55:19+00:00",{"id":139,"name":143,"slug":144,"color":145,"icon":146},"Sécurité & Monitoring","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[148],{"id":139,"name":143,"slug":144,"color":145,"icon":146},"\u002Fblog\u002Fcovers\u002Fsuperviser-vps-uptime-kuma-poster.svg",{"categorySlug":35,"appSlug":151},"uptime-kuma",{"id":153,"slug":154,"slugs":155,"title":159,"excerpt":160,"readTime":161,"views":162,"isPinned":19,"noindex":19,"publishedAt":163,"updatedAt":164,"category":165,"categories":166,"featuredImage":31,"bgImage":32,"posterImage":168,"relatedSolution":169},209,"self-host-gatus-vps",{"fr":154,"en":156,"ar":157,"es":158},"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-11-04T16:30:26+00:00",{"id":24,"name":25,"slug":26,"color":27,"icon":28},[167],{"id":24,"name":25,"slug":26,"color":27,"icon":28},"\u002Fblog\u002Fcovers\u002Fself-host-gatus-vps-poster.svg",{"categorySlug":35,"appSlug":170},"gatus",{"id":172,"slug":173,"slugs":174,"title":178,"excerpt":179,"readTime":180,"views":18,"isPinned":19,"noindex":20,"publishedAt":181,"updatedAt":182,"category":183,"categories":184,"featuredImage":31,"bgImage":32,"posterImage":186,"relatedSolution":31},541,"monitoring-disponibilite-sites-clients-agence-rapport",{"fr":173,"en":175,"ar":176,"es":177},"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-11-09T20:55:16+00:00",{"id":139,"name":143,"slug":144,"color":145,"icon":146},[185],{"id":139,"name":143,"slug":144,"color":145,"icon":146},"\u002Fblog\u002Fcovers\u002Fmonitoring-disponibilite-sites-clients-agence-rapport-poster.svg",1794270791681]