Files
wiki/Catalogue-Self-Hosted/apps/app-docker-php-startpage.md
T
2026-06-09 18:40:21 +02:00

5.0 KiB
Raw Blame History


title: docker-php-startpage created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, dashboard, startpage, php, self-hosted] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=Dashboard, https://github.com/.../docker-php-startpage]

📊 docker-php-startpage

Startpage PHP self-hosted très simple, packagé en image Docker : page d'accueil avec signets et tuiles, à l'ancienne.

📋 Informations Générales

Attribut Valeur
Nom docker-php-startpage
Slug docker-php-startpage
Description Startpage PHP self-hosted : page d'accueil avec bookmarks et services, image Docker prête à l'emploi
Site officiel https://github.com/.../docker-php-startpage
Repository https://github.com/.../docker-php-startpage
Stars 64
Licence MIT (à vérifier sur le repo)
Langage principal PHP
Catégorie Dashboard
Tags [catalogue, dashboard, startpage, php, self-hosted]

⚠️ Confiance faible : ce projet est ancien (style PHP procédural d'il y a plusieurs années), peu étoilé (64), avec une activité de maintenance très faible. À considérer comme un exemple d'approche plutôt qu'un choix de production moderne. Pour un usage réel, on préférera Homer, Glance ou Homepage.

📝 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

🔗 Pages Liées