Files
homepage/docker-compose.yaml

62 lines
1.9 KiB
YAML

services:
homepage:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage
restart: unless-stopped
networks:
- proxy
- socket_proxy
volumes:
- ${CONFIG_PATH:-./config}:/app/config
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
- HOMEPAGE_ALLOWED_HOSTS=${HOMEPAGE_ALLOWED_HOSTS}
- DOCKER_HOST=tcp://socket-proxy:${SOCKET_PROXY_PORT}
- SOCKET_PROXY_PORT=${SOCKET_PROXY_PORT}
- HOMEPAGE_VAR_PIHOLE_1_IP=${HOMEPAGE_VAR_PIHOLE_1_IP}
- HOMEPAGE_VAR_PIHOLE_1_KEY=${HOMEPAGE_VAR_PIHOLE_1_KEY}
- HOMEPAGE_VAR_PIHOLE_2_IP=${HOMEPAGE_VAR_PIHOLE_2_IP}
- HOMEPAGE_VAR_PIHOLE_2_KEY=${HOMEPAGE_VAR_PIHOLE_2_KEY}
- HOMEPAGE_VAR_OPENWEATHERMAP_API_KEY=${HOMEPAGE_VAR_OPENWEATHERMAP_API_KEY}
- HOMEPAGE_VAR_OPENWEATHERMAP_LOCATION=${HOMEPAGE_VAR_OPENWEATHERMAP_LOCATION}
labels:
- "traefik.enable=true"
- "traefik.http.routers.homepage.rule=Host(`homepage.${DOMAIN}`)"
- "traefik.http.routers.homepage.entrypoints=websecure"
- "traefik.http.routers.homepage.tls.certresolver=cloudflare"
- "traefik.http.routers.homepage.tls=true"
- "traefik.docker.network=proxy"
- "traefik.http.services.homepage.loadbalancer.server.port=3000"
healthcheck:
test: [ "CMD", "wget", "--spider", "-q", "http://localhost:3000" ]
interval: 30s
timeout: 10s
retries: 3
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
socket-proxy:
image: tecnativa/docker-socket-proxy
container_name: socket-proxy
restart: unless-stopped
networks:
- socket_proxy
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- CONTAINERS=1
- SERVICES=1
- TASKS=1
- POST=0
networks:
proxy:
external: true
socket_proxy:
internal: true