- Added clarity and structure to README files, including recent updates and getting started sections. - Improved manual verification documentation for CrowdSec authentication, emphasizing expected outputs and success criteria. - Updated debugging guide with detailed output examples and automatic trace capture information. - Refined best practices for E2E tests, focusing on efficient polling, locator strategies, and state management. - Documented triage report for DNS Provider feature tests, highlighting issues fixed and test results before and after improvements. - Revised E2E test writing guide to include when to use specific helper functions and patterns for better test reliability. - Enhanced troubleshooting documentation with clear resolutions for common issues, including timeout and token configuration problems. - Updated tests README to provide quick links and best practices for writing robust tests.
4.5 KiB
title, description, category
| title | description | category |
|---|---|---|
| Caddyfile Import | Import existing Caddyfile configurations with one click | migration |
Caddyfile Import
Migrating from another Caddy setup? Import your existing Caddyfile configurations with one click. Your existing work transfers seamlessly—no need to start from scratch.
Overview
Caddyfile import parses your existing Caddy configuration files and converts them into Charon-managed hosts. This enables smooth migration from standalone Caddy installations, other Caddy-based tools, or configuration backups.
Supported Configurations
- Reverse Proxy Sites: Domain → backend mappings
- File Server Sites: Static file hosting configurations
- TLS Settings: Certificate paths and ACME settings
- Headers: Custom header configurations
- Redirects: Redirect rules and rewrites
Why Use This
Preserve Existing Work
- Don't rebuild configurations from scratch
- Maintain proven routing rules
- Keep customizations intact
Reduce Migration Risk
- Preview imports before applying
- Identify conflicts and duplicates
- Rollback if issues occur
Accelerate Adoption
- Evaluate Charon without commitment
- Run imports on staging first
- Gradual migration at your pace
How to Import
Step 1: Access Import Tool
- Navigate to Settings → Import / Export
- Click Import Caddyfile
Step 2: Provide Configuration
Choose one of three methods:
Paste Content:
example.com {
reverse_proxy localhost:3000
}
api.example.com {
reverse_proxy localhost:8080
}
Upload File:
- Click Choose File
- Select your Caddyfile
Fetch from URL:
- Enter URL to raw Caddyfile content
- Useful for version-controlled configurations
Step 3: Preview and Confirm
The import preview shows:
- Hosts Found: Number of site blocks detected
- Parse Warnings: Non-fatal issues or unsupported directives
- Conflicts: Domains that already exist in Charon
Step 4: Execute Import
Click Import to create hosts. The process handles each host individually—one failure doesn't block others.
Import Results Modal
After import completes, a summary modal displays:
| Category | Description |
|---|---|
| Created | New hosts added to Charon |
| Updated | Existing hosts modified (if overwrite enabled) |
| Skipped | Hosts skipped due to conflicts or errors |
| Warnings | Non-blocking issues to review |
Example Results
Import Complete
✓ Created: 12 hosts
↻ Updated: 3 hosts
○ Skipped: 2 hosts
⚠ Warnings: 1
Details:
✓ example.com → localhost:3000
✓ api.example.com → localhost:8080
○ old.example.com (already exists, overwrite disabled)
⚠ staging.example.com (unsupported directive: php_fastcgi)
Configuration Options
Overwrite Existing
| Setting | Behavior |
|---|---|
| Off (default) | Skip hosts that already exist |
| On | Replace existing hosts with imported configuration |
Import Disabled Hosts
Create hosts but leave them disabled for review before enabling.
TLS Handling
| Source TLS Setting | Charon Behavior |
|---|---|
| ACME configured | Enable Let's Encrypt |
| Custom certificates | Create host, flag for manual cert upload |
| No TLS | Create HTTP-only host |
Migration from Other Caddy Setups
From Caddy Standalone
- Locate your Caddyfile (typically
/etc/caddy/Caddyfile) - Copy contents or upload file
- Import into Charon
- Verify hosts work correctly
- Point DNS to Charon
- Decommission old Caddy
From Other Management Tools
Export Caddyfile from your current tool, then import into Charon. Most Caddy-based tools provide export functionality.
Partial Migrations
Import specific site blocks by editing the Caddyfile before import. Remove sites you want to migrate later or manage separately.
Limitations
Some Caddyfile features require manual configuration after import:
- Custom plugins/modules
- Complex matcher expressions
- Snippet references (imported inline)
- Global options (applied separately)
Troubleshooting
| Issue | Solution |
|---|---|
| Parse error | Check Caddyfile syntax validity |
| Missing hosts | Ensure site blocks have valid domains |
| TLS warnings | Configure certificates manually post-import |
| Duplicate domains | Enable overwrite or rename in source |
Related
- Web UI - Managing imported hosts
- SSL Certificates - Certificate configuration
- Back to Features