chore: clean .gitignore cache
This commit is contained in:
@@ -1,227 +0,0 @@
|
||||
---
|
||||
title: Import Your Old Caddy Setup
|
||||
description: Guide to importing existing Caddyfile configurations into Charon. Migrate your reverse proxy setup without starting from scratch.
|
||||
---
|
||||
|
||||
## Import Your Old Caddy Setup
|
||||
|
||||
Already using Caddy? You can bring your existing configuration into Charon instead of starting from scratch.
|
||||
|
||||
---
|
||||
|
||||
## What Gets Imported?
|
||||
|
||||
Charon reads your Caddyfile and creates proxy hosts for you automatically. It understands:
|
||||
|
||||
- ✅ Domain names
|
||||
- ✅ Reverse proxy addresses
|
||||
- ✅ SSL settings
|
||||
- ✅ Multiple domains per site
|
||||
|
||||
---
|
||||
|
||||
## How to Import
|
||||
|
||||
### Step 1: Go to the Import Page
|
||||
|
||||
Click **"Import Caddy Config"** in the sidebar.
|
||||
|
||||
### Step 2: Choose Your Method
|
||||
|
||||
**Option A: Upload a File**
|
||||
|
||||
- Click "Choose File"
|
||||
- Select your Caddyfile
|
||||
- Click "Upload"
|
||||
|
||||
**Option B: Paste Text**
|
||||
|
||||
- Click the "Paste" tab
|
||||
- Copy your Caddyfile contents
|
||||
- Paste them into the box
|
||||
- Click "Parse"
|
||||
|
||||
### Step 3: Review What Was Found
|
||||
|
||||
Charon shows you a preview:
|
||||
|
||||
```
|
||||
Found 3 sites:
|
||||
✅ example.com → localhost:3000
|
||||
✅ api.example.com → localhost:8080
|
||||
⚠️ files.example.com → (file server - not supported)
|
||||
```
|
||||
|
||||
Green checkmarks = will import
|
||||
Yellow warnings = can't import (but tells you why)
|
||||
|
||||
### Step 4: Handle Conflicts
|
||||
|
||||
If you already have a proxy for `example.com`, Charon asks what to do:
|
||||
|
||||
- **Keep Existing** — Don't import this one, keep what you have
|
||||
- **Overwrite** — Replace your current config with the imported one
|
||||
- **Skip** — Same as "Keep Existing"
|
||||
|
||||
Choose what makes sense for each conflict.
|
||||
|
||||
### Step 5: Click "Import"
|
||||
|
||||
Charon creates proxy hosts for everything you selected. Done!
|
||||
|
||||
---
|
||||
|
||||
## Example: Simple Caddyfile
|
||||
|
||||
**Your Caddyfile:**
|
||||
|
||||
```caddyfile
|
||||
blog.example.com {
|
||||
reverse_proxy localhost:3000
|
||||
}
|
||||
|
||||
api.example.com {
|
||||
reverse_proxy https://backend:8080
|
||||
}
|
||||
```
|
||||
|
||||
**What Charon creates:**
|
||||
|
||||
- Proxy host: `blog.example.com` → `http://localhost:3000`
|
||||
- Proxy host: `api.example.com` → `https://backend:8080`
|
||||
|
||||
---
|
||||
|
||||
## What Doesn't Work (Yet)
|
||||
|
||||
Some Caddy features can't be imported:
|
||||
|
||||
### File Servers
|
||||
|
||||
```caddyfile
|
||||
static.example.com {
|
||||
file_server
|
||||
root * /var/www
|
||||
}
|
||||
```
|
||||
|
||||
**Why:** Charon only handles reverse proxies, not static files.
|
||||
|
||||
**Solution:** Keep this in a separate Caddyfile or use a different tool for static hosting.
|
||||
|
||||
### Path-Based Routing
|
||||
|
||||
```caddyfile
|
||||
example.com {
|
||||
route /api/* {
|
||||
reverse_proxy localhost:8080
|
||||
}
|
||||
route /web/* {
|
||||
reverse_proxy localhost:3000
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Why:** Charon treats each domain as one proxy, not multiple paths.
|
||||
|
||||
**Solution:** Create separate subdomains instead:
|
||||
|
||||
- `api.example.com` → localhost:8080
|
||||
- `web.example.com` → localhost:3000
|
||||
|
||||
### Environment Variables
|
||||
|
||||
```caddyfile
|
||||
{$DOMAIN} {
|
||||
reverse_proxy {$BACKEND}
|
||||
}
|
||||
```
|
||||
|
||||
**Why:** Charon doesn't know what your environment variables are.
|
||||
|
||||
**Solution:** Replace them with actual values before importing.
|
||||
|
||||
### Import Statements
|
||||
|
||||
```caddyfile
|
||||
import snippets/common.caddy
|
||||
```
|
||||
|
||||
**Why:** Charon needs the full config in one file.
|
||||
|
||||
**Solution:** Combine all files into one before importing.
|
||||
|
||||
---
|
||||
|
||||
## Tips for Successful Imports
|
||||
|
||||
### 1. Simplify First
|
||||
|
||||
Remove unsupported directives before importing. Focus on just the reverse_proxy parts.
|
||||
|
||||
### 2. Test with One Site
|
||||
|
||||
Import a single site first to make sure it works. Then import the rest.
|
||||
|
||||
### 3. Keep a Backup
|
||||
|
||||
Don't delete your original Caddyfile. Keep it as a backup just in case.
|
||||
|
||||
### 4. Review Before Committing
|
||||
|
||||
Always check the preview carefully. Make sure addresses and ports are correct.
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### "No hosts found"
|
||||
|
||||
**Problem:** Your Caddyfile only has file servers or other unsupported features.
|
||||
|
||||
**Solution:** Add at least one `reverse_proxy` directive or add sites manually through the UI.
|
||||
|
||||
### "Parse error"
|
||||
|
||||
**Problem:** Your Caddyfile has syntax errors.
|
||||
|
||||
**Solution:**
|
||||
|
||||
1. Run `caddy validate --config Caddyfile` on your server
|
||||
2. Fix any errors it reports
|
||||
3. Try importing again
|
||||
|
||||
### "Some hosts failed to import"
|
||||
|
||||
**Problem:** Some sites have unsupported features.
|
||||
|
||||
**Solution:** Import what works, add the rest manually through the UI.
|
||||
|
||||
---
|
||||
|
||||
## After Importing
|
||||
|
||||
Once imported, you can:
|
||||
|
||||
- Edit any proxy host through the UI
|
||||
- Add SSL certificates (automatic with Let's Encrypt)
|
||||
- Add security features
|
||||
- Delete ones you don't need
|
||||
|
||||
Everything is now managed by Charon!
|
||||
|
||||
---
|
||||
|
||||
## What About Nginx Proxy Manager?
|
||||
|
||||
NPM import is planned for a future update. For now:
|
||||
|
||||
1. Export your NPM config (if possible)
|
||||
2. Look at which domains point where
|
||||
3. Add them manually through Charon's UI (it's pretty quick)
|
||||
|
||||
---
|
||||
|
||||
## Need Help?
|
||||
|
||||
**[Ask on GitHub Discussions](https://github.com/Wikid82/charon/discussions)** — Bring your Caddyfile and we'll help you figure out how to import it.
|
||||
Reference in New Issue
Block a user