Welcome to the Charon documentation! This guide provides comprehensive information on understanding, deploying, and operating the Charon infrastructure platform.
New to Charon? Begin here for foundational knowledge.
- Prerequisites - Essential system requirements and dependencies.
- Quick Start - Rapid deployment in under 5 minutes.
- Installation - Step-by-step installation instructions.
- Configuration - Setup for environment variables and Terraform.
Understand how Charon works:
- System Overview - High-level architecture
- Networking - VPN mesh, DNS, and ingress
- Security - TLS, RBAC, and secrets management
- StatefulSet Pattern - 3-container deployment pattern
- Dependency Management - Terraform dependency best practices
Documentation for each service:
- Headscale - Self-hosted Tailscale control server
- FreeIPA - Identity and authentication management
- Grafana - Monitoring and visualization
- Monitoring Stack - Complete observability (Prometheus, Loki, Tempo, Thanos)
- Open-WebUI - AI chat interface with Ollama
- Ollama - Local LLM inference server
- Redmine - Project management and issue tracking
- GitLab - Git repository hosting and CI/CD
- ArgoCD - GitOps continuous delivery
- NetBox - Infrastructure management (IPAM/DCIM)
Step-by-step howtos:
- VPN Client Enrollment - Connect devices to the VPN
- LDAP Integration - Configure LDAP authentication
- DNS Management - Automated DNS with Cloudflare
- Certificate Management - Let's Encrypt with cert-manager
- Adding New Services - Extend the platform
Day-to-day operations:
- Deployment - Deploy and redeploy procedures
- Backup & Restore - Database backups
- Scaling - Horizontal and vertical scaling
- Monitoring - Observability and alerting
- Troubleshooting - Common issues and solutions
- Upgrades - Version upgrades and migrations
Contributing to Charon:
- Contributing Guide - How to contribute
- Code Standards - Terraform and Python standards
- Testing - How to test changes
- Release Process - Versioning and releases
Separate repositories for specialized components:
- docker/tailscale-lifecycle-automation - Containerized lifecycle automation for Tailscale VPN
- grafana/dashboards - Pre-built Grafana dashboards for infrastructure monitoring
- scripts/ - Python automation scripts for DNS, LDAP, and service management
- tests/ - Comprehensive test suite for all components
Complete specifications:
- Environment Variables - All environment variables
- Terraform Variables - All Terraform variables
- API Endpoints - Service API documentation
- Scripts Reference - Helper scripts documentation
- Need help? → Troubleshooting Guide
- Want to contribute? → Contributing Guide
- Adding a service? → Adding Services Guide
- Terraform issues? → Dependency Patterns
Documentation Version: 1.0 Last Updated: December 2025 Maintained by: Charon Contributors