# Plex Serverplex.somewhere.us {gziptimeouts nonelog /opt/caddy/logs/plex.logtls { dns cloudflare}proxy / 127.0.0.1:32400 { transparent websocket }}
pkg install wgetwget "https://caddyserver.com/download/freebsd/amd64?plugins=http.cache,http.cgi,http.jwt,http.login,tls.dns.cloudflare&license=personal&telemetry=on
root@phoenix:/etc # cat rc.confnetdata_enable=YEScaddy_enable=YES
root@phoenix:/usr/local/etc/rc.d # cat caddy#!/bin/sh## PROVIDE: caddy# REQUIRE: networking# KEYWORD: shutdown## Add the following lines to /etc/rc.conf to enable caddy:# caddy_enable (bool): Set to "NO" by default.# Set it to "YES" to enable caddy## caddy_cert_email (str): Set to "" by default.# Defines the SSL certificate issuer email. By providing an# email address you automatically agree to letsencrypt.org's# general terms and conditions## caddy_bin_path (str): Set to "/usr/local/bin/caddy" by default.# Provides the path to the caddy server executable## caddy_cpu (str): Set to "99%" by default.# Configures, how much CPU capacity caddy may gain## caddy_config_path (str): Set to "/usr/local/www/Caddyfile" by default.# Defines the path for the configuration file caddy will load on boot## caddy_user (str): Set to "root" by default.# Defines the user that caddy will run on## caddy_group (str): Set to "wheel" by default.# Defines the group that caddy files will be attached to## caddy_logfile (str) Set to "/var/log/caddy.log" by default.# Defines where the process log file is written, this is not a web access log## caddy_env (str) Set to "" by default.# This allows environment variable to be set that may be required, for example when using "DNS Challenge" account credentials are required.# e.g. (in your rc.conf) caddy_env="CLOUDFLARE_EMAIL=me@domain.com CLOUDFLARE_API_KEY=my_api_key"#. /etc/rc.subrcaddy_env="CLOUDFLARE_API_KEY=someAPIKEY CLOUDFLARE_EMAIL=someone@gmail.com"name="caddy"rcvar="${name}_enable"load_rc_config ${name}: ${caddy_enable:="NO"}: ${caddy_cert_email="someone@gmail.com"}: ${caddy_bin_path="/usr/local/bin/caddy"}: ${caddy_cpu="99%"} # was a bug for me that caused a crash within jails: ${caddy_config_path="/var/lib/caddy/Caddyfile"}: ${caddy_logfile="/var/lib/caddy/logs/caddy.log"}: ${caddy_user="root"}: ${caddy_group="wheel"}if [ "$caddy_cert_email" = "" ]then echo "rc variable \$caddy_cert_email is not set. Please provide a valid SSL certificate issuer email." exit 1fipidfile="/var/run/${name}.pid"procname="${caddy_bin_path}" #enabled builtin pid checking for start / stopcommand="/usr/sbin/daemon"command_args="-p ${pidfile} /usr/bin/env ${caddy_env} ${procname} -cpu ${caddy_cpu} -log stdout -conf ${caddy_config_path} -agree -email ${caddy_cert_email} < /dev/null >> ${caddy_logfile} 2>&1"start_precmd="caddy_startprecmd"caddy_startprecmd(){ if [ ! -e "${pidfile}" ]; then install -o "${caddy_user}" -g "${caddy_group}" "/dev/null" "${pidfile}" fi if [ ! -e "${caddy_logfile}" ]; then install -o "${caddy_user}" -g "${caddy_group}" "/dev/null" "${caddy_logfile}" fi}required_files="${caddy_config_path}"run_rc_command "$1"
root@phoenix:/var/lib/caddy # lsCaddyfile logs ssl