-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
61 lines (51 loc) · 1.85 KB
/
docker-compose.yml
File metadata and controls
61 lines (51 loc) · 1.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
version: "3.8"
services:
senzor:
# Official Senzor Agent Image
image: ghcr.io/senzops/server-agent:latest
container_name: senzor
restart: unless-stopped
# CRITICAL: Network and PID must be 'host' to monitor the actual server
network_mode: "host"
pid: "host"
privileged: true
# Mount host directories strictly Read-Only (:ro) for security
volumes:
- /:/host/root:ro
- /sys:/host/sys:ro
- /proc:/host/proc:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
# Configuration
environment:
# 1. API Configuration
# If self-hosting, change this to your backend URL (e.g. http://your-ip:5000/api/ingest/stats)
- API_ENDPOINT=https://api.senzor.dev/api/ingest/stats
# 2. Authentication (Get these from your Dashboard)
- SERVER_ID=REPLACE_WITH_YOUR_SERVER_ID
- API_KEY=REPLACE_WITH_YOUR_API_KEY
# 3. Settings
- INTERVAL=60 # Seconds between checks
- NODE_ENV=production
# 4. Integrations (Opt-in)
# To enable Nginx monitoring, set ENABLE_NGINX to true and provide the status URL
# Ensure your Nginx is configured with the 'stub_status' module reachable at this URL
- ENABLE_NGINX=false
- NGINX_STATUS_URL=http://127.0.0.1/nginx_status
# 5. Traefik (Opt-in)
- ENABLE_TRAEFIK=false
- TRAEFIK_API_URL=http://127.0.0.1:8080
# Optional: Only if Traefik dashboard is protected
# - TRAEFIK_USER=admin
# - TRAEFIK_PASSWORD=secure_password
#6. Terminal (Opt-in)
- ENABLE_TERMINAL=false
- ALLOW_HOST_ACCESS=false
# Resource Limits (Safety Guardrails)
# Ensures the agent never consumes too much of your server's resources
deploy:
resources:
limits:
memory: 200M
cpus: "0.15" # Max 15% of 1 CPU Core
reservations:
memory: 50M