Runs a PHP-based startpage in Docker
- Source code: GitHub
- Docker container: Docker Hub
- Image base: PHP
- Init system: N/A
- Application: N/A
- Runs a PHP-based startpage in Docker.
- See Features for more detailed usage information.
- Everything is PHP (server-side), so the Docker container running this image will need to be able to reach URLs to do a status check.
- The startpage works out of the box, but it's assumed the user will mount a Docker volume at
/var/www/html/user_includesto include custom configuration files.
latest: Latest versionX.X.X: Semantic version (use if you want to stick on a specific version)
N/A
| Port on host | Port in container | Comments |
|---|---|---|
| Choose at your discretion | 80 | Apache |
| Volume on host | Volume in container | Comments |
|---|---|---|
| Choose at your discretion | /var/www/html/user_includes | Used to store user config files |
Below is an example docker-compose.yml file.
version: '3'
services:
startpage:
container_name: startpage
restart: unless-stopped
networks:
- startpage
ports:
- '80:80'
volumes:
- 'user_includes:/var/www/html/user_includes'
image: loganmarchione/docker-php-startpage:latest
networks:
startpage:
volumes:
user_includes:
driver: local
Below is an example of running locally (used to edit/test/debug).
git clone https://github.com/loganmarchione/docker-php-startpage.git
cd docker-php-startpage
composer update
php -S localhost:8000
- Learn PHP
- Add a healthcheck
- Make the image smaller (currently ~500MB due to
vendordirectory, maybe load resources from a CDN?) - Add check to make sure JSON is valid (currently, if it's not valid, nothing will load)
- Get
navbar_title_imageconfig option working - Change
config.jsontoconfig.php, since PHP allows setting default variables and comments - Investigate using
curlinstead ofget_headers(curlmight be faster?) - Add a try/except to the
get_headerscall
