# For Prometheus (supports hot-reload)
curl -X POST http://localhost:9091/-/reload
# For other services, restart the specific container
docker compose restart SERVICE_NAME
# Or restart the entire monitoring stack
docker compose -f docker-compose.yaml -f docker-compose.monitoring.yaml restart
# Backup all configs
tar czf infra-backup-$(date +%Y%m%d).tar.gz infra/
# Restore from backup
tar xzf infra-backup-YYYYMMDD.tar.gz
# List volumes
docker volume ls | grep lithosphere
# Inspect a volume
docker volume inspect lithosphere_prometheus-data
# Backup a volume
docker run --rm -v lithosphere_prometheus-data:/data -v $(pwd):/backup \
alpine tar czf /backup/prometheus-data.tar.gz /data
# Restore a volume
docker run --rm -v lithosphere_prometheus-data:/data -v $(pwd):/backup \
alpine tar xzf /backup/prometheus-data.tar.gz -C /
# Allow only from specific IP
ufw allow from YOUR_IP to any port 3000 # Grafana
ufw allow from YOUR_IP to any port 9091 # Prometheus
# In docker-compose.monitoring.yaml
grafana:
ports:
- "127.0.0.1:3000:3000" # Only accessible locally
prometheus:
ports:
- "127.0.0.1:9091:9090" # Only accessible locally
# Via Grafana UI: User → Change Password
# Or via Docker CLI:
docker compose exec grafana grafana-cli admin reset-admin-password NEW_PASSWORD
# Use environment variables
global:
smtp_auth_password: ${SMTP_PASSWORD}
# Or use Docker secrets (Swarm mode)
secrets:
smtp_password:
external: true