26898ac1fe
Dashboard centralizado con widgets de estado de servicios, integración con Docker para mostrar contenedores y acceso SSO vía Authentik. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
37 lines
1.7 KiB
YAML
37 lines
1.7 KiB
YAML
services:
|
|
homepage:
|
|
image: ${HOMEPAGE_IMAGE}
|
|
pull_policy: always
|
|
container_name: homepage
|
|
restart: unless-stopped
|
|
environment:
|
|
TZ: ${TZ}
|
|
HOMEPAGE_ALLOWED_HOSTS: ${HOMEPAGE_ALLOWED_HOSTS}
|
|
volumes:
|
|
- ${HOMEPAGE_CONFIG_PATH}:/app/config:Z
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
networks:
|
|
- proxy
|
|
labels:
|
|
traefik.enable: "true"
|
|
traefik.docker.network: "${TRAEFIK_DOCKER_NETWORK}"
|
|
traefik.http.routers.homepage.rule: "Host(`${HOMEPAGE_DOMAIN}`)"
|
|
traefik.http.routers.homepage.entrypoints: "${TRAEFIK_ENTRYPOINT_SECURE}"
|
|
traefik.http.routers.homepage.tls: "true"
|
|
traefik.http.routers.homepage.tls.certresolver: "${TRAEFIK_CERTRESOLVER}"
|
|
traefik.http.routers.homepage.middlewares: "crowdsec-bouncer@file,${TRAEFIK_AUTH_MIDDLEWARE}"
|
|
traefik.http.routers.homepage-www-redirect.rule: "Host(`sherlockhomeless.net`)"
|
|
traefik.http.routers.homepage-www-redirect.entrypoints: "${TRAEFIK_ENTRYPOINT_SECURE}"
|
|
traefik.http.routers.homepage-www-redirect.tls: "true"
|
|
traefik.http.routers.homepage-www-redirect.tls.certresolver: "${TRAEFIK_CERTRESOLVER}"
|
|
traefik.http.routers.homepage-www-redirect.middlewares: "homepage-apex-to-www"
|
|
traefik.http.routers.homepage-www-redirect.service: "noop@internal"
|
|
traefik.http.middlewares.homepage-apex-to-www.redirectregex.permanent: "true"
|
|
traefik.http.middlewares.homepage-apex-to-www.redirectregex.regex: "^https://sherlockhomeless\\.net(:443)?/?(.*)"
|
|
traefik.http.middlewares.homepage-apex-to-www.redirectregex.replacement: "https://www.sherlockhomeless.net/$${2}"
|
|
traefik.http.services.homepage.loadbalancer.server.port: "3000"
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|