Savoir si votre site est en ligne avec Upptime & Github action

Upptime est petit outil opensource qui va permettre de regarder si son site est en ligne avec des github action.

L’idĂ©e est d’avoir un petit dashboard extĂ©rieur Ă  son serveur pour connaitre l’état de son site, recevoir des alertes et indiquer le status du site Ă  d’autres utilisateurs.

Exemple avec mon blog : https://upptime.callot.fr/

Installation

Rendez vous sur le Github d’Upptime pour utiliser la template du repo.

Cliquer sur “use this template” :

CrĂ©er un repo public avec un nom et cocher la case pour inclure toutes les branches (nous aurons besoin d’autres branches du repo) :

Une fois le nouveau repo crée, allez dans les paramÚtres de celui-ci.

Dans la section "pages" choisir la branche "gh-pages" et le dossier "root".

Vous pouvez rajouter un domaine personnalisé, mais n'oubliez pas d'autorisé auprÚs de votre fournisseur de DNS.  

Upptime va avoir besoin d'accéder à l'api de github pour cela, on va donc générer un token d'accÚs pour cela :

Cliquez sur votre photo de profil dans le coin supérieur droit et sélectionnez "settings", puis dans la barre latérale gauche, sélectionnez "developper settings" Dans la barre latérale de gauche, cliquez sur "Personnal acces token". Cliquez sur "generate new token". Sélectionner les scopes "repo" et "workflow" et enfin cliquez sur "Générer un jeton".

Dans la section security>secret configurer un nouveau secret appelé GH_PAT et ajouter le token crée précédement :

Ensuite passons Ă  l'Ă©tape la plus interressante, la configuration, dans cette exemple je vais prendre la configuration de mon repo :

# Change these first
owner: FRE3X # Your GitHub organization or username, where this repository lives
repo: upptime-blog # The name of this repository

sites:
  - name: blog.callot.fr
    url: https://blog.callot.fr/
status-website:
  # Add your custom domain name, or remove the `cname` line if you don't have a domain
  # Uncomment the `baseUrl` line if you don't have a custom domain and add your repo name there
  cname: upptime.callot.fr
  #baseUrl: /upptime-blog
  logoUrl: https://raw.githubusercontent.com/upptime/upptime.js.org/master/static/img/icon.svg
  name: Upptime
  introTitle: "**Upptime** is the open-source uptime monitor and status page, powered entirely by GitHub."
  introMessage: This is a sample status page
  navbar:
    - title: Status
      href: /

Il faut bien sûr modifier le nom et l'url. Vous pouvez également changer la description dans "introTitle". Le cname va permettre d'avoir un domaine personnalisé comme vu plus haut.

Upptime va bien au delà est permet de faire des notifications mail, slack ou encore telegram. Je ferai un autre article quand j'aurai également testé cela.

Amusez-vous bien !

Sources