48 lines
1.8 KiB
YAML
48 lines
1.8 KiB
YAML
services:
|
|
homepage:
|
|
image: ${HOMEPAGE_IMAGE}
|
|
container_name: ${HOMEPAGE_NAME}
|
|
restart: unless-stopped
|
|
networks:
|
|
- tsysdevstack-supportstack-demo-network
|
|
ports:
|
|
- "${BIND_ADDRESS}:${HOMEPAGE_PORT}:3000"
|
|
environment:
|
|
- PORT=3000
|
|
- HOMEPAGE_URL=http://${BIND_ADDRESS}:${HOMEPAGE_PORT}
|
|
- BASE_URL=http://${BIND_ADDRESS}:${HOMEPAGE_PORT}
|
|
- HOMEPAGE_ALLOWED_HOSTS=${BIND_ADDRESS}:${HOMEPAGE_PORT},localhost:${HOMEPAGE_PORT}
|
|
volumes:
|
|
- ${HOMEPAGE_CONFIG_PATH}:/app/config
|
|
- ${DOCKER_SOCKET_PROXY_SOCKET_PATH}:${DOCKER_SOCKET_PROXY_SOCKET_PATH}:ro # For Docker integration
|
|
mem_limit: ${HOMEPAGE_MEM_LIMIT}
|
|
mem_reservation: ${HOMEPAGE_MEM_LIMIT}
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: '${HOMEPAGE_CPU_LIMIT}'
|
|
memory: ${HOMEPAGE_MEM_LIMIT}
|
|
reservations:
|
|
cpus: '${HOMEPAGE_CPU_LIMIT}'
|
|
memory: ${HOMEPAGE_MEM_LIMIT}
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:3000/api/health"]
|
|
interval: ${HEALTH_CHECK_INTERVAL}
|
|
timeout: ${HEALTH_CHECK_TIMEOUT}
|
|
start_period: ${HOMEPAGE_STARTUP_TIMEOUT} # Longer start period for homepage
|
|
retries: ${HEALTH_CHECK_RETRIES}
|
|
# Homepage integration labels for automatic discovery
|
|
labels:
|
|
homepage.group: "Support Stack"
|
|
homepage.name: "Homepage Dashboard"
|
|
homepage.icon: "homepage.png"
|
|
homepage.href: "http://${BIND_ADDRESS}:${HOMEPAGE_PORT}"
|
|
homepage.description: "Homepage dashboard for Support Stack"
|
|
homepage.type: "homepage"
|
|
user: "${TSYSDEVSTACK_UID}:${TSYSDEVSTACK_DOCKER_GID}" # Direct access to Docker socket for discovery
|
|
|
|
networks:
|
|
tsysdevstack-supportstack-demo-network:
|
|
external: true
|
|
name: ${TSYSDEVSTACK_NETWORK_NAME}
|