1.8 KiB
1.8 KiB
Ansible Role: Reverse Proxy
This role installs and configures Caddy as a reverse proxy.
Role Variables
defaults/main.yml
caddy_binary_url: The URL to download the Caddy binary.caddy_binary_path: The path to install the Caddy binary.caddy_user: The user to run Caddy as.caddy_group: The group to run Caddy as.caddy_config_path: The path to the Caddy configuration file.caddy_log_path: The path to the Caddy log file.caddy_systemd_service_path: The path to the Caddy systemd service file.caddy_systemd_service_name: The name of the Caddy systemd service.caddy_version: The version of Caddy to install.xcaddy_version: The version of xcaddy to install.go_version: The version of Go to install.go_download_url: The URL to download Go from.go_install_dir: The directory to install Go to.caddy_custom_plugins: A list of custom plugins to install with Caddy.netcup_customer_id: Your Netcup customer ID.netcup_api_key: Your Netcup API key.netcup_api_password: Your Netcup API password.
vars/main.yml
caddy_email: The email address to use for Let's Encrypt.caddy_domains: A list of domains to configure for the reverse proxy.
Handlers
restart caddy: Restarts the Caddy service.
Tasks
main.yml
00_go_install.yml: Installs Go.10_caddy_install.yml: Installs Caddy.20_xcaddy_install.yml: Installs xcaddy.30_custom_caddy.yml: Builds a custom Caddy binary with plugins.50_netcup_dns.yml: Configures Netcup DNS for Caddy.80_configure.yml: Configures Caddy.
Usage
- hosts: servers
roles:
- role: reverse_proxy
vars:
caddy_email: "user@example.com"
caddy_domains:
- domain: "example.com"
proxy: "http://localhost:8080"