Probod Operations Documentation
This documentation provides operational guidance for deploying, configuring, and managing the Probod compliance management daemon.
Service Components
Probod requires the following components for operation:
- probod: Main service daemon
- PostgreSQL: Database backend (version 17+)
- S3-Compatible Storage: Object storage (AWS S3, MinIO, etc.)
- Chrome DevTools Protocol: PDF generation service
Deployment Guide
- Installation Guide - Docker and binary deployment procedures
- Configuration Reference - Complete configuration options and examples
Quick Deployment
Docker Deployment
docker run -d \
--name probod \
-p 8080:8080 \
-v /path/to/config.yaml:/etc/probod/config.yaml \
ghcr.io/getprobo/probo:latest
Service Verification
# Health check
curl http://localhost:8080/health
# Service logs
docker logs probod
System Requirements
Minimum Requirements
- CPU: 1 core, 2 GHz
- Memory: 1 GB RAM
- Storage: 10 GB available space
- Database: PostgreSQL 12+
- Storage Backend: S3-compatible object storage
Recommended for Production
- CPU: 2+ cores, 2.4 GHz
- Memory: 4 GB RAM
- Storage: 50 GB SSD
- Database: Managed PostgreSQL with backups
- Load Balancer: For high availability deployments
External Dependencies
Required Services
- PostgreSQL Database: Primary data storage
- S3-Compatible Storage: File and document storage (AWS S3, MinIO, etc.)
- Chrome/Chromium: PDF generation via DevTools Protocol
Optional Integrations
- SMTP Server: Email notifications
- OpenAI API: AI-powered features
- OAuth2 Providers: External service integrations (GitHub, Slack, etc.)
Production Deployment
High Availability
- Deploy multiple probod instances behind a load balancer
- Use managed PostgreSQL with read replicas
- Configure distributed object storage
- Implement monitoring and alerting
Security Configuration
- Enable TLS for all external communications
- Use strong, unique secrets for authentication components
- Configure network security groups and firewalls
- Regular security updates and vulnerability scanning
Operations
Monitoring
- Health Check:
GET /health - Metrics: Prometheus-compatible metrics at
/metricsendpoint - Tracing: OpenTelemetry distributed tracing support
- Logging: Structured JSON logging with configurable levels
Configuration-Based Observability
Probod provides built-in observability configured through the main configuration file:
- Prometheus Metrics: Configure
unit.metrics.addrfor metrics endpoint - OpenTelemetry Tracing: Configure
unit.tracingsection for trace collection - Structured Logging: Automatic JSON logging with correlation IDs
Configuration Example
unit:
metrics:
addr: "0.0.0.0:8081"
tracing:
addr: "tempo:4317"
See Configuration Reference for complete details.
Backup and Recovery
- Database: Regular PostgreSQL backups with point-in-time recovery
- Object Storage: S3 versioning and cross-region replication
- Configuration: Version control all configuration files
Troubleshooting
Common operational issues:
- Verify database connectivity and credentials
- Check S3 storage access permissions
- Validate configuration file syntax
- Review service logs for startup errors
Support
- Repository: getprobo/probo
- Issues: Report operational problems on GitHub
- Releases: GitHub releases