#!/usr/bin/env bash # Copyright (c) 2021-2026 tteck # Author: tteck (tteckster) | Co-Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://caddyserver.com/ | Github: https://github.com/caddyserver/caddy source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" color verb_ip6 catch_errors setting_up_container network_check update_os setup_deb_based() { msg_info "Installing Dependencies" $STD apt install -y \ debian-keyring \ debian-archive-keyring \ apt-transport-https msg_ok "Installed Dependencies" msg_info "Installing Caddy" setup_deb822_repo \ "caddy" \ "https://dl.cloudsmith.io/public/caddy/stable/gpg.key" \ "https://dl.cloudsmith.io/public/caddy/stable/deb/debian" \ "any-version" $STD apt install -y caddy msg_ok "Installed Caddy" read -r -p "${TAB3}Would you like to install xCaddy Addon? " prompt if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then setup_go fetch_and_deploy_gh_release "xcaddy" "caddyserver/xcaddy" "binary" msg_info "Setup xCaddy" $STD apt install -y git $STD xcaddy build msg_ok "Setup xCaddy" fi } setup_alpine() { msg_info "Installing Caddy" $STD apk add --no-cache caddy caddy-openrc cat </etc/caddy/Caddyfile :80 { # Set this path to your site's directory. root * /var/www/html # Enable the static file server. file_server # Another common task is to set up a reverse proxy: # reverse_proxy localhost:8080 # Or serve a PHP site through php-fpm: # php_fastcgi localhost:9000 } EOF mkdir -p /var/www/html cat </var/www/html/index.html Caddy works!

Hello Caddy!

For more information, refer to the Caddy documentation

EOF msg_ok "Installed Caddy" read -r -p "${TAB3}Would you like to install xCaddy Addon? " prompt if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then GO_VERSION="$(curl -fsSL https://go.dev/VERSION?m=text | head -1 | cut -c3-)" setup_go msg_info "Setup xCaddy" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/caddyserver/xcaddy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') curl -fsSL "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.tar.gz" -o "xcaddy_${RELEASE:1}_linux_amd64.tar.gz" $STD tar xzf xcaddy_"${RELEASE:1}"_linux_amd64.tar.gz -C /usr/local/bin xcaddy rm -rf /opt/xcaddy* $STD xcaddy build msg_ok "Setup xCaddy" fi msg_info "Enabling Caddy Service" $STD rc-update add caddy default msg_ok "Enabled Caddy Service" msg_info "Starting Caddy" $STD service caddy start msg_ok "Started Caddy" } run_os_setup motd_ssh customize cleanup_lxc