version: '3.8' services: # Nerd Monitor Server server: build: context: . dockerfile: Dockerfile container_name: nerd-monitor-server ports: - "8080:8080" environment: ADDR: 0.0.0.0 PORT: 8080 USERNAME: admin PASSWORD: admin volumes: - server-logs:/app/logs restart: unless-stopped healthcheck: test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/login"] interval: 30s timeout: 3s retries: 3 start_period: 5s networks: - nerd-monitor-net labels: - "com.example.description=Nerd Monitor Server" # Example Agent 1 (Alpine-based, simulated) # In production, agents run on monitored machines # This is for testing/demo purposes only agent-demo: build: context: . dockerfile: Dockerfile.agent container_name: nerd-monitor-agent-demo environment: SERVER: http://server:8080 INTERVAL: 15s depends_on: server: condition: service_healthy restart: unless-stopped networks: - nerd-monitor-net labels: - "com.example.description=Nerd Monitor Agent (Demo)" volumes: server-logs: driver: local networks: nerd-monitor-net: driver: bridge