Overview
The GitHub Webhook Server includes comprehensive examples in theexamples/ directory to help you get started quickly.
Available Examples
config.yaml
Complete server configuration
docker-compose.yaml
Docker Compose setup
.github-webhook-server.yaml
Repository-specific config
Server Configuration (config.yaml)
Theexamples/config.yaml file demonstrates all available server configuration options:
Key Features Demonstrated
Server Settings:- Log levels and log files (webhook-server.log, mcp_server.log, logs_server.log)
- SSL warnings configuration
- Sensitive data masking
- GitHub App ID and tokens
- Webhook IP configuration
- Docker registry authentication
- Default status checks
- Auto-verified and merged users
- Cherry-pick configuration
- Issue creation for new PRs
- Enabled label categories (verified, hold, wip, needs-rebase, etc.)
- Custom label colors (CSS3 color names)
- Dynamic label prefixes
- Custom size thresholds (Tiny, Small, Medium, Large, Massive)
- Color coding for each size
- Infinity threshold for unbounded categories
- Strict mode
- Code owner reviews
- Stale review dismissal
- Required approving review count
- Linear history enforcement
- Conversation resolution
- PR Test Oracle configuration (server-url, ai-provider, ai-model)
- AI Features for conventional title suggestions
- Test pattern matching
- Trigger configuration (approved, pr-opened, pr-synchronized)
- Per-repository log levels and files
- Slack webhook integration
- Tox testing configuration
- Container building and publishing
- PyPI publishing
- Conventional Commits validation
Example Snippet
Docker Compose (docker-compose.yaml)
Theexamples/docker-compose.yaml provides a production-ready Docker Compose configuration:
Configuration Details
Key Features
Volume Mounts:- Data directory for config.yaml and private key (
:Zfor SELinux) - Temporary storage for Podman-in-Podman operations
- User/Group IDs (PUID/PGID)
- Timezone configuration
- Worker pool size (MAX_WORKERS=50)
- Security settings (VERIFY_GITHUB_IPS, VERIFY_CLOUDFLARE_IPS)
- Feature toggles (ENABLE_LOG_SERVER, ENABLE_MCP_SERVER)
- Privileged mode for container building
- Automatic restart policy
- Port mapping (5000:5000)
Repository Configuration (.github-webhook-server.yaml)
Theexamples/.github-webhook-server.yaml shows how to override global settings per repository:
Use Cases
Repository-Specific Overrides:- Custom log levels for debugging
- Repository-specific Slack notifications
- Different testing strategies (tox configurations)
- Custom PR size labels
- Branch-specific protection rules
- Minimum LGTM requirements
Example Snippet
Placement
Place this file in the root of your repository:Configuration Schema
All configuration files support JSON Schema validation for IDE autocompletion:- IDE autocompletion
- Inline documentation
- Real-time validation
- Error detection
Validation
Validate Configuration
Common Configuration Patterns
Minimal Setup
Multi-Repository Setup
Container Building Setup
PyPI Publishing Setup
AI Integration Setup
Environment-Specific Configurations
Development Environment
Production Environment
Access Examples Directory
View on GitHub
All examples are available in the repository:Clone and Customize
Example Repository Structures
Simple Repository
Complex Repository with Components
Next Steps
Configuration
Detailed configuration guide
Docker Deployment
Docker deployment guide
Kubernetes
Kubernetes deployment
OWNERS Files
OWNERS file format