A modern, web-based management interface for Caddy, focusing on reverse proxy configuration with automatic HTTPS.
Comprehensive documentation is available in the docs folder:
mkdir clearproxy && cd clearproxy
curl -L https://raw.githubusercontent.com/foggymtndrifter/clearproxy/main/docker-compose.yml -o docker-compose.yml
mkdir -p data/caddy/data data/caddy/config/caddy data/certificates logs
cat > data/caddy/config/caddy/caddy.json << 'EOF'
{
"admin": {
"listen": "0.0.0.0:2019",
"enforce_origin": false,
"origins": ["*"]
},
"apps": {
"http": {
"servers": {
"srv0": {
"listen": [":80"],
"routes": []
}
}
}
}
}
EOF
version: '3.8'
services:
app:
image: ghcr.io/${GITHUB_REPOSITORY:-foggymtndrifter/clearproxy}:latest
container_name: clearproxy-app
restart: unless-stopped
ports:
- '3000:3000'
environment:
- NODE_ENV=production
- DATABASE_URL=file:/data/clearproxy.db
- CADDY_API_URL=http://caddy:2019
volumes:
- ./data:/data
- ./logs:/app/build/logs
networks:
- proxy-network
depends_on:
- caddy
caddy:
image: caddy:2-alpine
container_name: clearproxy-caddy
restart: unless-stopped
command: caddy run --config /config/caddy/caddy.json
environment:
- CADDY_ADMIN_LISTEN=0.0.0.0:2019 # Required for admin API access
security_opt:
- no-new-privileges:true
ports:
- '80:80'
- '443:443'
- '2019:2019' # Admin API port (can be changed, e.g., "3019:2019")
volumes:
- ./data/caddy/data:/data
- ./data/caddy/config:/config
- ./data/certificates:/certificates
networks:
- proxy-network
networks:
proxy-network:
name: proxy-network
driver: bridge
docker compose up -d
The application will be available at http://localhost:3000
.
See CONTRIBUTING.md for detailed setup instructions.
The application uses SQLite for data storage and communicates with Caddy's admin API.
CADDY_API_URL
: URL of Caddy's admin API (default: http://localhost:2019
)DATABASE_URL
: SQLite database connection URL (default: file:./clearproxy.db
)LOG_LEVEL
: Logging level (default: info
)NODE_ENV
: Environment mode (development or production)PORT
: Application port (default: 3000
)ORIGIN
: The URL origin for the application (default: http://localhost
)MIGRATIONS_PATH
: Path to database migration filesThe setup includes two containers:
ClearProxy App (clearproxy-app
):
Caddy Server (clearproxy-caddy
):
To update to the latest version:
# Using Docker Compose
docker compose pull
docker compose up -d
If you encounter issues:
docker compose logs app
docker compose logs caddy
For more detailed troubleshooting assistance, please see the Troubleshooting Guide.
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
If you find ClearProxy useful, consider buying me a coffee to support ongoing development!
This project is licensed under the MIT License - see the LICENSE file for details.