-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.yaml.example
More file actions
96 lines (80 loc) · 3.12 KB
/
config.yaml.example
File metadata and controls
96 lines (80 loc) · 3.12 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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# HeyMac Configuration File
# Copy this file to config.yaml and modify according to your environment
# Server Configuration
server:
port: 5656 # Backend port (check for conflicts: lsof -i :5656)
host: "localhost" # Bind host (use "0.0.0.0" to accept external connections)
mode: "release" # debug, release, test
# Security Configuration
security:
jwt_secret: "CHANGE-THIS-TO-A-RANDOM-SECRET-KEY-IN-PRODUCTION" # Generate with: openssl rand -hex 32
jwt_expire_hours: 24 # JWT token expiration time
rate_limit_per_minute: 60 # API rate limit per IP
cors_allowed_origins:
- "https://<your-domain>"
- "http://localhost:5173" # Vite dev server
# Add more origins as needed
# Database Configuration
database:
path: "~/Library/Application Support/heymac/heymac.db" # SQLite database path
backup_enabled: true # Enable automatic backups
backup_interval_hours: 24 # Backup interval (hours)
backup_retention_days: 7 # Keep backups for N days
# Logging Configuration
logging:
level: "info" # debug, info, warn, error
path: "~/Library/Logs/heymac" # Log directory
max_size_mb: 100 # Max log file size before rotation
max_backups: 7 # Number of backup log files to keep
compress: true # Compress old log files
# Services Management Configuration
services:
# Whitelist: Only these services can be managed (empty = allow all)
pm2_whitelist:
- "heystat"
- "cosheet"
# Add more PM2 app names as needed
docker_whitelist:
- "moodle"
- "wordpress"
- "jupyter"
# Add more Docker container names as needed
brew_whitelist:
- "nginx"
- "mysql"
# Add more Brew service names as needed
# Blacklist: These services CANNOT be managed (takes priority over whitelist)
docker_blacklist: []
brew_blacklist: []
pm2_blacklist: []
# Service-specific settings
nginx_use_graceful_reload: true # Use nginx -s reload instead of restart
# System Monitoring Configuration
monitoring:
update_interval_seconds: 5 # How often to update system stats (reduce if CPU usage is high)
disk_alert_threshold_percent: 80 # Alert when disk usage exceeds this
memory_alert_threshold_percent: 90 # Alert when memory usage exceeds this
cpu_alert_threshold_percent: 90 # Alert when CPU usage exceeds this
enable_temperature_monitoring: true # Requires osx-cpu-temp: brew install osx-cpu-temp
# Health Check Configuration
health:
enabled: true # Enable health check endpoint
check_interval_seconds: 30 # How often to check service health
timeout_seconds: 5 # Health check timeout
# User Management (for future use)
users:
default_admin:
username: "admin"
password_hash: "" # Will be set via API or CLI
role: "admin" # admin, user, viewer
# Notification Settings (for future use)
notifications:
email_enabled: false
email_smtp_host: ""
email_smtp_port: 587
email_username: ""
email_password: ""
email_from: ""
email_to: []
webhook_enabled: false
webhook_url: ""