58 lines
1.3 KiB
YAML
58 lines
1.3 KiB
YAML
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
|