fix: resolve health check issues and update service configurations

- Fix MailHog health check: replace --no-verbose with -q and --tries with BusyBox-compatible options
- Fix InfluxDB health check: replace wget with curl (wget not available in container)
- Fix Pi-hole health check: replace wget with curl and remove user directive (requires root)
- Update Docker image versions with specific stable tags:
  * InfluxDB: 2.7.10
  * Wakapi: v2.7.1
  * ArchiveBox: v0.7.3
  * TubeArchivist: v0.5.8 (correct repository bbilly1/tubearchivist)
- Update README.md service table with correct ports and IP addresses
- Add MailHog configuration variables to demo.env
- Update demo-stack.sh status display to include Wakapi and MailHog URLs
- All services now showing as healthy in Homepage dashboard
This commit is contained in:
TSYSDevStack Team
2025-11-14 00:49:39 -05:00
parent 70f97050cd
commit 534c486aea
5 changed files with 535 additions and 532 deletions

View File

@@ -65,7 +65,6 @@ services:
pihole:
image: pihole/pihole:2024.07.0
user: "${APP_UID}:${APP_GID}"
container_name: "${COMPOSE_PROJECT_NAME}-pihole"
restart: unless-stopped
networks:
@@ -84,6 +83,13 @@ services:
- TZ=UTC
- WEBPASSWORD=demo_password
- PIHOLE_DNS_=1.1.1.1;1.0.0.1;8.8.8.8
- WEBTHEME=light-darker
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:80/admin"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
labels:
homepage.group: "Infrastructure"
homepage.name: "Pi-hole"
@@ -118,7 +124,7 @@ services:
# =============================================================================
influxdb:
image: influxdb:1.8.10
image: influxdb:2.7.10
container_name: "${COMPOSE_PROJECT_NAME}-influxdb"
restart: unless-stopped
networks:
@@ -134,6 +140,13 @@ services:
- DOCKER_INFLUXDB_INIT_ORG=demo_org
- DOCKER_INFLUXDB_INIT_BUCKET=demo_bucket
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=demo_token
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=demo_token
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8086/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
labels:
homepage.group: "Monitoring"
homepage.name: "InfluxDB"
@@ -238,12 +251,70 @@ services:
homepage.href: "http://192.168.3.6:${ATOMIC_TRACKER_PORT}"
homepage.description: "Habit tracking and personal dashboard"
wakapi:
image: ghcr.io/muety/wakapi:v2.7.1
user: "${APP_UID}:${APP_GID}"
container_name: "${COMPOSE_PROJECT_NAME}-wakapi"
restart: unless-stopped
networks:
- ${COMPOSE_NETWORK_NAME}
volumes:
- "${COMPOSE_PROJECT_NAME}_wakapi_data:/data"
ports:
- "${WAKAPI_PORT}:3000"
environment:
- WAKAPI_DB_TYPE=sqlite3
- WAKAPI_DB_PATH=/data/wakapi.db
- WAKAPI_PASSWORD_SALT=demo_salt_only
- WAKAPI_INSECURE_COOKIES=true
- WAKAPI_ENVIRONMENT=production
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/api/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
labels:
homepage.group: "Developer Tools"
homepage.name: "Wakapi"
homepage.icon: "wakapi.png"
homepage.href: "http://192.168.3.6:${WAKAPI_PORT}"
homepage.description: "Open-source WakaTime alternative for time tracking"
mailhog:
image: mailhog/mailhog:v1.0.0
container_name: "${COMPOSE_PROJECT_NAME}-mailhog"
restart: unless-stopped
networks:
- ${COMPOSE_NETWORK_NAME}
ports:
- "${MAILHOG_SMTP_PORT}:1025"
- "${MAILHOG_WEB_PORT}:8025"
environment:
- PUID=${APP_UID}
- PGID=${APP_GID}
- MH_SMTP_BIND_ADDR=0.0.0.0:1025
- MH_UI_BIND_ADDR=0.0.0.0:8025
- MH_STORAGE=memory
healthcheck:
test: ["CMD", "wget", "-q", "-s", "http://localhost:8025"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
labels:
homepage.group: "Developer Tools"
homepage.name: "MailHog"
homepage.icon: "mailhog.png"
homepage.href: "http://192.168.3.6:${MAILHOG_WEB_PORT}"
homepage.description: "Web and API based SMTP testing tool"
# =============================================================================
# ARCHIVAL & CONTENT MANAGEMENT
# =============================================================================
archivebox:
image: archivebox/archivebox:latest
image: archivebox/archivebox:v0.7.3
container_name: "${COMPOSE_PROJECT_NAME}-archivebox"
restart: unless-stopped
networks:
@@ -264,7 +335,7 @@ services:
homepage.description: "Self-hosted internet archiving solution"
tube-archivist:
image: bbilly1/tubearchivist:latest
image: bbilly1/tubearchivist:v0.5.8
container_name: "${COMPOSE_PROJECT_NAME}-tube-archivist"
restart: unless-stopped
networks:
@@ -284,6 +355,9 @@ services:
- TA_PASSWORD=tubearchivist
- TA_HOST=http://192.168.3.6:${TUBE_ARCHIVIST_PORT}
- ELASTIC_PASSWORD=changeme
- TA_ENABLE_AUTH_PROXY=false
- HOST_UID=${APP_UID}
- HOST_GID=${APP_GID}
depends_on:
- elasticsearch
- redis
@@ -359,6 +433,10 @@ volumes:
driver: local
${COMPOSE_PROJECT_NAME}_atomic_tracker_config:
driver: local
${COMPOSE_PROJECT_NAME}_wakapi_data:
driver: local
${COMPOSE_PROJECT_NAME}_mailhog_data:
driver: local
${COMPOSE_PROJECT_NAME}_archivebox_data:
driver: local
${COMPOSE_PROJECT_NAME}_tube_archivist_media: