108 lines
5.0 KiB
Markdown
108 lines
5.0 KiB
Markdown
---
|
||
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é)
|
||
|
||
```yaml
|
||
# 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)
|
||
|
||
## 🔗 Pages Liées
|
||
|
||
- [[cat-dashboard]]
|
||
- [[app-homer]] — alternative moderne statique
|
||
- [[app-glance]] — alternative moderne dynamique
|
||
- [[app-traefik]] — reverse proxy + HTTPS
|
||
- [[app-authelia]] — couche d'auth
|
||
- [[recettes-docker-compose]]
|
||
- [[securisation-home-lab]]
|