Introduction à l’auto-hébergement

https://files.dbeley.ovh/slides

Plan

  • Qu’est-ce que l’auto-hébergement ? Pourquoi s’auto-héberger ?
  • Exemples de services à auto-héberger
  • Comment bien démarrer (matériel/logiciel)?
  • Mon installation

Auto-hébergement?

L’auto-hébergement est une pratique consistant à héberger ses services Internet personnels sur ses propres machines.

Elle s’oppose à l’utilisation de services d’hébergements chez un prestataire.

Pourquoi s’auto-héberger ?

  • Contrôle données personnelles

    Données stockées chez vous, contrôle du logiciel (logiciel libre)

  • Évolutivité / fonctionnalités en plus

    Dimensionnement matériel, stockage

  • Économie d’argent

    Pas d’abonnements

  • Auto-formation (docker, linux, hébergement, déploiement)

Inconvénients

  • Investissement en temps

    Un peu de maintenance obligatoire

  • Complexité, sécurité
  • Stabilité
  • Usure matérielle

Exemples de services

Nextcloud

Documents, contacts, calendrier/agenda, notes, liste de tâches

Plugins, Android (DAVx5, Nextcloud Notes, Tasks.org)

Airsonic

Serveur musical

Application android DSub

FreshRSS

Agrégateur de flux RSS

Jellyfin

Serveur média

Alternatives : Emby, Plex, Kodi

pi-hole

Résolveur DNS + bloqueur de pubs

Et tant d’autres encore

  • Wiki : Dokuwiki, Wiki.js, Bookstack
  • Téléchargement automatique de médias : radarr, sonarr, lidarr
  • Gestionnaire de finances : Firefly-iii
  • Galerie Photo : Piwigo, Photoprism
  • awesome-selfhosted@github

Bien démarrer

Matériel

  • N’importe quel ordinateur
  • Équipement obligatoire :
    • Port ethernet
    • Stockage fiable
  • Objectif
    • Bien dimensionné
    • Consomme le moins possible (24h/24). Indicateurs : TDP CPU/GPU.
    • Architecture x86 ou ARM (pas d’hyperviseur pour ARM)
  • Pour pi-hole : routeur avec les serveurs DNS configurables (SFR/Orange : bypasser le serveur DHCP)

SBC (Single-board computer)

Marques : Raspberry, Rock64, Helios64, Odroid

  • Avantages : prix, fanless, architecture ARM, efficacité énergétique
  • Inconvénients : architecture ARM, stockage peu fiable

Mini-PC

Marques : Chuwi, ACEPC, Minisforum, Beelink, Kodlink, Asus, Gigabyte, Zotac

  • Avantages : prix, fanless, architecture x86, efficacité énergétique
  • Inconvénients : évolutivité, peu adapté à un usage NAS

Serveur domestique

Marques : Dell, HP, Lenovo, Fujitsu, à monter soi-même (https://serverbuilds.net)

  • Avantages : évolutivité, contrôle total sur le matériel (si monté)
  • Inconvénients : efficacité énergétique, bruit

NAS

Marques : Synology, QNAP, Asustor, WD

  • Avantages : facilité d’utilisation
  • Inconvénients : prix, logiciel propriétaire, évolutivité

Logiciel

Système d’exploitation

  • Linux
    • Ubuntu Server
    • Debian
  • Hyperviseur ?
    • Proxmox
    • ESXi
    • Hyper-V
  • Docker
    • La plupart des applications auto-hébergées ont des conteneurs docker officiels

Installation docker

sudo apt install docker.io docker-compose
sudo systemctl enable --now docker
usermod add -g docker

Exemple docker-compose

---
# docker-compose.yml
version: "2"
services:
  librespeed:
    image: ghcr.io/linuxserver/librespeed
    container_name: librespeed
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - PASSWORD=$PASSWORD
    volumes:
      - ./config:/config
    ports:
        - 80:80
    restart: unless-stopped
echo "PASSWORD=123" > .env
docker-compose up -d
docker logs librespeed

Aller plus loin

  • résolution DNS locale

    192.168.1.10 -> docker.home

  • reverse-proxy (traefik, caddy)

    docker.home:1234 -> librespeed.docker.home

  • Stack de monitoring TIG
  • Ansible, Terraform, cloud-init
  • Cluster Kubernetes (k3s)

Mon installation

Pour aller plus loin