Files
TSYSDevStack/SupportStack/output/docker-compose/tsysdevstack-supportstack-demo-DockerCompose-homepage.yml

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}