Retour aux outils
MonitoringIntermédiaireOpen sourceAuto-hébergeable

docker-php-startpage

Startpage **PHP self-hosted** très simple, packagé en image Docker : page d'accueil avec signets et

MAJ 2026-06-14
docker-php-startpage
Site officiel Code source★ 0

L'idée de docker-php-startpage est on ne peut plus classique : une page PHP servie par Apache ou nginx, qui lit un fichier de configuration (souvent un simple tableau PHP) et affiche une grille de signets et de tuiles vers les services locaux. C'est l'ancêtre des dashboards modernes : on retrouve l'

Description

L'idée de docker-php-startpage est on ne peut plus classique : une page PHP servie par Apache ou nginx, qui lit un fichier de configuration (souvent un simple tableau PHP) et affiche une grille de signets et de tuiles vers les services locaux. C'est l'ancêtre des dashboards modernes : on retrouve l'esprit de Heimdall, mais sans framework, sans JavaScript, juste du PHP qui rend du HTML.

Caractéristiques :

  • Image Docker unique : PHP + Apache + le code de la startpage, prête à docker run.
  • Configuration PHP : un fichier config.php ou un array en début de fichier source.
  • Pas d'admin web : édition manuelle du fichier de config + redéploiement.
  • Pas de base de données : stateless, parfait pour un usage en lecture seule.
  • Icônes : souvent via Font Awesome, sans upload custom.

C'est un projet typique de la première vague self-hosted (2015-2018) : avant Glance, avant Homepage, quand PHP était le choix par défaut. Aujourd'hui, sa pertinence est surtout pédagogique ou pour qui veut un dashboard sans aucune dépendance moderne (Node, Go, React…).

Recommandation : si vous tenez absolument à la simplicité PHP, ce projet est un point de départ correct. Si vous voulez quelque chose de maintenu, préférez [[app-homer]] (statique YAML) ou [[app-glance]] (Go moderne).

Installation

Via Docker (recommandé)

# docker-compose.yml
services:
  php-startpage:
    image: ghcr.io/.../docker-php-startpage:latest
    container_name: php-startpage
    restart: unless-stopped
    volumes:
      - ./config.php:/var/www/html/config.php:ro
    ports:
      - "8080:80"

ℹ️ Le nom de l'image exacte dépend du repo source. Vérifier sur le README du projet.

Installation manuelle

PHP 7.4+ avec module Apache ou PHP-FPM, cloner, éditer config.php, pointer nginx vers public/. Aucune étape de build.

Configuration

  • Fichier config.php : tableau PHP associatif listant les groupes et les liens (label, URL, icône).
  • Pas d'auth : à protéger via reverse proxy.
  • Pas de thème natif : CSS à modifier à la main pour dark mode.
  • Pas de refresh automatique : page purement statique une fois rendue.

Alternatives

  • Homer — la version moderne YAML, statique, plus maintenue.
  • Glance — moderne, widgets dynamiques.
  • Heimdall — autre vétéran, PHP aussi à l'origine, désormais plus complet.
  • Homepage — le choix populaire actuel.

Sécurité

  • ⚠️ PHP ancien : très probablement non testé sur PHP 8.2/8.3. À isoler derrière un reverse proxy et n'exposer jamais directement sur Internet.
  • Pas d'auth : obligatoire de mettre en place une couche d'authentification (Authelia, Authentik, basic auth) si l'on veut y accéder hors LAN.
  • HTTPS : via Traefik/Caddy, le service ne gère pas le TLS nativement.
  • CVE PHP : un conteneur PHP 7.x peut embarquer des vulnérabilités connues ; le mainteneur n'a peut-être pas publié d'image récente.
  • Surface d'attaque : un site PHP dynamique a plus de surface qu'un static YAML (Homer) ou qu'un bundle compilé (Glance). À mettre sur un VLAN ou derrière une DMZ si possible.

Ressources

  • Repository : à confirmer sur https://selfh.st/apps/?tag=Dashboard
  • Communautés : r/selfhosted, r/homelab (mentions historiques)