name: pulse-signage services: web: image: ${PULSE_SIGNAGE_WEB_IMAGE:-git.lzstealth.com/lzstealth/pulse-signage-web:latest} restart: unless-stopped networks: - pulse_signage ports: - "8080:8080" environment: DB_HOST: ${DB_HOST:-mysql} DB_PORT: ${DB_PORT:-3306} DB_NAME: ${DB_NAME:-pulse-signage} DB_USER: ${DB_USER:-pulse-signage} DB_PASSWORD: ${DB_PASSWORD:-signage_password} PULSE_SIGNAGE_SHARED_SECRET: ${PULSE_SIGNAGE_SHARED_SECRET:-} BRIDGE_INTERNAL_URL: ${BRIDGE_INTERNAL_URL:-http://player-bridge:8090} DEFAULT_ADMIN_USERNAME: ${DEFAULT_ADMIN_USERNAME:-admin} DEFAULT_ADMIN_NAME: ${DEFAULT_ADMIN_NAME:-Admin} DEFAULT_ADMIN_PASSWORD: ${DEFAULT_ADMIN_PASSWORD:-password123} volumes: - pulse-signage:/app/media command: ["node", "src/web.js"] depends_on: mysql: condition: service_healthy player: image: ${PULSE_SIGNAGE_PLAYER_IMAGE:-git.lzstealth.com/lzstealth/pulse-signage-player:latest} restart: unless-stopped networks: - pulse_signage ports: - "8081:8081" environment: PLAYER_PUBLIC_URL: ${PLAYER_PUBLIC_URL:-http://localhost:8081} PLAYER_INTERNAL_URL: ${PLAYER_INTERNAL_URL:-http://player:8081} PLAYER_IDENTIFIER: ${PLAYER_IDENTIFIER:-player-local} PULSE_SIGNAGE_SHARED_SECRET: ${PULSE_SIGNAGE_SHARED_SECRET:-} DB_HOST: ${DB_HOST:-mysql} DB_PORT: ${DB_PORT:-3306} DB_NAME: ${DB_NAME:-pulse-signage} DB_USER: ${DB_USER:-pulse-signage} DB_PASSWORD: ${DB_PASSWORD:-signage_password} volumes: - pulse-signage:/app/media command: ["node", "src/player.js"] depends_on: mysql: condition: service_healthy player-bridge: image: ${PULSE_SIGNAGE_WEB_IMAGE:-git.lzstealth.com/lzstealth/pulse-signage-web:latest} restart: unless-stopped networks: - pulse_signage ports: - "8090:8090" environment: WEB_INTERNAL_URL: ${WEB_INTERNAL_URL:-http://web:8080} PULSE_SIGNAGE_SHARED_SECRET: ${PULSE_SIGNAGE_SHARED_SECRET:-} DB_HOST: ${DB_HOST:-mysql} DB_PORT: ${DB_PORT:-3306} DB_NAME: ${DB_NAME:-pulse-signage} DB_USER: ${DB_USER:-pulse-signage} DB_PASSWORD: ${DB_PASSWORD:-signage_password} command: ["node", "src/player-bridge/index.js"] depends_on: mysql: condition: service_healthy mysql: image: mysql:8.4 restart: unless-stopped ports: - "3306:3306" environment: MYSQL_DATABASE: ${DB_NAME:-pulse-signage} MYSQL_USER: ${DB_USER:-pulse-signage} MYSQL_PASSWORD: ${DB_PASSWORD:-signage_password} MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root_password} command: - --character-set-server=utf8mb4 - --collation-server=utf8mb4_unicode_ci volumes: - mysql_data:/var/lib/mysql healthcheck: test: ["CMD-SHELL", "mysqladmin ping -h localhost -uroot -p$$MYSQL_ROOT_PASSWORD"] interval: 10s timeout: 5s retries: 10 networks: - pulse_signage volumes: mysql_data: pulse-signage: networks: pulse_signage: name: pulse-signage external: false