Homepage
Homepage is a self-hosted dashboard application with a customisable interface for displaying service status widgets, bookmarks, and system information.
This compose file deploys Homepage with its configuration directory stored on an NFS volume. The dashboard is proxied through a Traefik reverse proxy with Cloudflare TLS certificates.
Docker Compose
# compose.yaml
services:
homepage:
image: gethomepage/homepage
container_name: homepage
restart: unless-stopped
# ports:
# - 3000:3000
networks:
- homepage_proxy
volumes:
- type: volume
source: docker-nfs
target: /app/config
volume:
subpath: homepage/config
environment:
HOMEPAGE_ALLOWED_HOSTS: home.${TRAEFIK_BASE_URL}
TZ: Europe/London
labels:
- "traefik.enable=true"
- "traefik.docker.network=homepage_proxy"
- "traefik.http.services.homepage.loadbalancer.server.port=3000"
- "traefik.http.routers.homepage.rule=Host(`home.${TRAEFIK_BASE_URL}`)"
- "traefik.http.routers.homepage.entrypoints=websecure"
- "traefik.http.routers.homepage.tls=true"
- "traefik.http.routers.homepage.tls.certresolver=cloudflare"
volumes:
docker-nfs:
driver: local
driver_opts:
type: nfs
o: addr=xxx.xxx.xxx.xxx,nolock,soft,rw,nfsvers=4.2
device: ":/mnt/nfs-volume"
networks:
homepage_proxy:
name: homepage_proxy
Environment Variables
# .env
TRAEFIK_BASE_URL=example.com
Traefik Configuration
# compose.yaml (excerpt)
services:
traefik:
image: traefik:latest
container_name: traefik
...
networks:
- traefik
# here
- homepage_proxy
...
networks:
# here
homepage_proxy:
name: homepage_proxy