Installer Kener avec Docker
Kener

Installer Kener avec Docker

Table des matières

Pour mon usage, le self-hosting, malgré les nombreux réglages que comportent Kener, je m'en tiendrai à une simple page de certains statuts de certains services.

La documentation est bien foutue, rien de méchant. Après, je n'ai pas forcément creusé profond non plus. Je vous partage ce que j'ai compris et utilisé. 😊


Kener offre une interface élégante et conviviale qui simplifie le suivi des pannes de service et améliore la façon de communiquer en cas d'incidents. Et le meilleur?

Kener s'intègre parfaitement à GitHub, faisant de la gestion des incidents un effort d'équipe, ce qui permet de suivre et de résoudre plus facilement les problèmes ensemble dans un environnement collaboratif et convivial.

⚡Caractéristiques

  • Surveillance en temps réel.
  • Interroge le point de terminaison HTTP ou les données Push à surveiller à l'aide des API Rest.
  • Gère les fuseaux horaires pour les visiteurs.
  • Classer les moniteurs en différentes sections.
  • Planification basée sur Cron pour les moniteurs.
  • Minimum par minute.
  • Configuration flexible du moniteur à l'aide de YAML.
  • Définissez votre propre analyse pour le moniteur Up/Down/Degraded.
  • Construisez des sondages API complexes - Chaîne, Secrets, etc.
  • Prend en charge un statut par défaut pour les moniteurs.

L'installation

  1. Créez votre docker-compose.yml:
nano docker-compose.yml
  1. Collez ça dedans en prenant soin d'adapter le port et les volumes suivant votre configuration, je vous mets le docker-compose complet mais n'oubliez pas que tout ce qui est avec # est commenté, donc pas pris en compte, libre à vous d'adapter suivant vos besoins:
version: '3.7'
services:
  kener:
    image: rajnandan1/kener:latest # assuming this is final namespace/image
    container_name: kener
    environment:
      - TZ=Etc/GMT
      #- GH_TOKEN=
      #- API_TOKEN=
      #- API_IP

      # If running on a LINUX HOST and not podman rootless these MUST BE SET
      # run "id $user" from command line and replace numbers below with output from command
      #- PUID=1000 # gid
      #- PGID=1000 # uid

      ### Most likely DO NOT need to change anything below this ###

      #- PORT=3000 Port app listens on IN CONTAINER

      ### If any of the below are changed make sure the bound volume is correct as well ###
      #- CONFIG_DIR=/config
      #- PUBLIC_KENER_FOLDER=/config/static
      #- MONITOR_YAML_PATH=/config/monitors.yaml
      #- SITE_YAML_PATH=/config/site.yaml

    ports:
      - '3000:3000/tcp'
    volumes:
      - '/srv/appdata/kener/config:/config:rw'
  1. On installe l'application:
docker-compose up -d

ou avec docker-compose V2:

docker compose up -d
  1. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et le port choisi:
http://ip:3000

Un peu de configuration!

Configurer les services

C'est bien joli tout ça, mais on s'en tape de savoir si Google va bien non?

Tout se joue dans deux fichiers et le dossier static qui se trouvent dans ce dossier:

Commençons par éditer le fichier monitors, autrement dit pour vos services!

nano monitor.yaml

Bon, ici c'est mon fichier déjà édité, mais vous n'avez qu'à vous baser dessus, c'est vraiment pas compliqué:

- name: belginux
  description: Applications Docker 
  tag: "belginux-website"
  image: "https://belginux.com/content/images/2024/01/bbbbb-8.png"
  api:
    method: GET   
    url: https://belginux.com
- name: Immich    
  description: Mon application photos et vidéos
  tag: "immich-website"
  api:
    method: GET
    url: https://immich.xxx.xx/
  image: "https://immich.xxx.xx/_app/immutable/assets/immich-logo.18dcdcef.svg"
- name: Nextcloud
  description: Mon cloud perso
  tag: "nextcloud"
  defaultStatus: "UP"
  image: "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/png/nextcloud.png"
- name: Proxmox backup server
  description: Serveur de backup
  tag: "pbs"
  image: "https://github.com/walkxcode/dashboard-icons/raw/main/png/proxmox-light.png"
  api:
    method: GET
    url: https://pbs.xxx.xx/
  • name => le nom du service.
  • description => la description de ce service.
  • tag => attribuez au service un tag en relation avec le... service. :p
  • image => attribuez un logo au service, soit en local ou avec un lien.
    En local, il faudra placer votre logo dans le dossier static et dans la partie image du fichier de config, cela devra ressembler à ça: image:"/log.png"
  • url => indiquez l'url de votre service

Pour le reste, la documentation est bien foutue, je vous laisse creuser. ⛏️

Configurer le site

Voici ce que j'ai fait, vite fait:

Pour éditer le logo, le titre du site et autres, éditez le fichier site.yaml:

nano site.yaml

Ou vous trouverez ces informations:

title: "belginux"
home: "/"
logo: "https://belginux.com/content/images/2024/01/bbbbb-8.png"
github:
  owner: "rajnandan1"
  repo: "kener"
  incidentSince: 48
metaTags:
  description: "Kener: Open-source modern looking Node.js status page tool, designed to make service monitoring and incident handling a breeze. It offers a sleek and user-friendly interface that simplifies tra>
  keywords: "Node.js status page, Incident management tool, Service monitoring, Service outage tracking, Real-time status updates, GitHub integration for incidents, Open-source status page, Node.js monitoring >
  og:description: "Kener: Open-source Node.js status page tool, designed to make service monitoring and incident handling a breeze. It offers a sleek and user-friendly interface that simplifies tracking servic>
  og:image: "https://kener.ing/ss.png"
  og:title: "Kener - Open-Source and Modern looking Node.js Status Page for Effortless Incident Management"
  og:type: "website"
  og:site_name: "Kener"
  twitter:card: "summary_large_image"
  twitter:site: "@_rajnandan_"
  twitter:creator: "@_rajnandan_"
  twitter:image: "https://kener.ing/ss.png"
  twitter:title: "Kener: Open-Source and Modern looking Node.js Status Page for Effortless Incident Management"
  twitter:description: "Kener: Open-source Node.js status page tool, designed to make service monitoring and incident handling a breeze. It offers a sleek and user-friendly interface that simplifies tracking s>
nav:
  - name: "Documentation"
    url: "/docs"
  - name: "Github"
    url: "https://github.com/rajnandan1/kener"
hero:
  title: Page des statuts belginux
  subtitle: Tant que tout n'est pas rouge, tout va bien!
footerHTML: |
  Made using 
  <a href="https://github.com/rajnandan1/kener" target="_blank" rel="noreferrer" class="font-medium underline underline-offset-4">
    Kener
  </a>
  an open source status page system built with Svelte and TailwindCSS.
  • title: "belginux" => sert à nommer votre site, en haut à gauche comme sur le screenshot.
  • logo: "https://belginux.com/content/images/2024/01/bbbbb-8.png" => soit vous mettez un lien ou un logo en local, placé dans static, en local, il faudra placer votre logo dans le dossier static et dans la partie image du fichier de config, cela devra ressembler à ça: logo:"/log.png"
  • title: Page des statuts belginux => pour éditer le titre central
  • subtitle: Tant que tout n'est pas rouge, tout va bien! => un sous-titre, je m'en suis servi pour faire une petite blague.

Quelques screenshots

zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.

Vous pourriez aussi aimer