Files
homepage/docker-compose.yaml
2026-02-14 01:19:31 -03:00

54 lines
1.5 KiB
YAML

services:
homepage:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage
restart: unless-stopped
networks:
- proxy
- socket_proxy
volumes:
- ./config:/app/config
# Docker socket is NOT mounted directly anymore
environment:
- PUID=1000
- PGID=1000
- TZ=America/Sao_Paulo
- HOMEPAGE_ALLOWED_HOSTS=${DOMAIN}
- DOCKER_HOST=tcp://socket-proxy:${SOCKET_PROXY_PORT}
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 # Allow listing containers
- POST=0 # Disallow POST requests (write access)
networks:
proxy:
external: true
socket_proxy:
internal: true