From 750a23ad43051ef6f96ad8a0499e116ff5284176 Mon Sep 17 00:00:00 2001 From: root360-AndreasUlm Date: Mon, 25 Dec 2017 10:30:15 +0100 Subject: [PATCH 1/7] implemented source of default file for sysvinit Signed-off-by: root360-AndreasUlm --- dist/init/linux-sysvinit/caddy | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/dist/init/linux-sysvinit/caddy b/dist/init/linux-sysvinit/caddy index 88fc963986f..6e3c310303c 100644 --- a/dist/init/linux-sysvinit/caddy +++ b/dist/init/linux-sysvinit/caddy @@ -24,14 +24,22 @@ DAEMONOPTS="-agree=true -log=$LOGFILE -conf=$CONFIGFILE" USERBIND="setcap cap_net_bind_service=+ep" STOP_SCHEDULE="${STOP_SCHEDULE:-QUIT/5/TERM/5/KILL/5}" +CADDYPATH=/etc/ssl/caddy +ULIMIT=8192 test -x $DAEMON || exit 0 +# allow overwriting variables +# Debian based +[ -e "/etc/default/caddy" ] && source /etc/default/caddy +# Red Hat based +[ -e "/etc/sysconfig/caddy" ] && source /etc/sysconfig/caddy + # Set the CADDYPATH; Let's Encrypt certificates will be written to this directory. -export CADDYPATH=/etc/ssl/caddy +export CADDYPATH # Set the ulimits -ulimit -n 8192 +ulimit -n ${ULIMIT} start() { From 4eba918c7956b065512f53dd368b258b1a2cc925 Mon Sep 17 00:00:00 2001 From: root360-AndreasUlm Date: Mon, 25 Dec 2017 10:45:40 +0100 Subject: [PATCH 2/7] added documentation in README Signed-off-by: root360-AndreasUlm --- dist/init/linux-sysvinit/README.md | 16 ++++++++++++++++ dist/init/linux-sysvinit/caddy | 6 ++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/dist/init/linux-sysvinit/README.md b/dist/init/linux-sysvinit/README.md index f5ce4de09dc..c2a8fced2ab 100644 --- a/dist/init/linux-sysvinit/README.md +++ b/dist/init/linux-sysvinit/README.md @@ -9,3 +9,19 @@ Usage * Ensure that the folder `/etc/caddy` exists and that the folder `/etc/ssl/caddy` is owned by `www-data`. * Create a Caddyfile in `/etc/caddy/Caddyfile` * Now you can use `service caddy start|stop|restart|reload|status` as `root`. + +Init script manipulation +----- + +The init script supports configuration via the following files: +* `/etc/default/caddy` ( Debian based https://www.debian.org/doc/manuals/debian-reference/ch03.en.html#_the_default_parameter_for_each_init_script ) +* `/etc/sysconfig/caddy` ( CentOS based https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s1-sysconfig-files.html ) + +The following variables can be changed: +* DAEMON: path to the caddy binary file (default: `/usr/local/bin/caddy`) +* DAEMONUSER: user used to run caddy (default: `www-data`) +* PIDFILE: path to the pidfile (default: `/var/run/$NAME.pid`) +* LOGFILE: path to the log file for caddy daemon (not for access logs) (default: `/var/log/$NAME.log`) +* CONFIGFILE: path to the caddy configuration file (default: `/etc/caddy/Caddyfile`) +* CADDYPATH: path for SSL certificates managed by caddy (default: `/etc/ssl/caddy`) +* ULIMIT: open files limit (default: `8192`) diff --git a/dist/init/linux-sysvinit/caddy b/dist/init/linux-sysvinit/caddy index 6e3c310303c..1bafc64f161 100644 --- a/dist/init/linux-sysvinit/caddy +++ b/dist/init/linux-sysvinit/caddy @@ -20,7 +20,6 @@ DAEMONUSER=www-data PIDFILE=/var/run/$NAME.pid LOGFILE=/var/log/$NAME.log CONFIGFILE=/etc/caddy/Caddyfile -DAEMONOPTS="-agree=true -log=$LOGFILE -conf=$CONFIGFILE" USERBIND="setcap cap_net_bind_service=+ep" STOP_SCHEDULE="${STOP_SCHEDULE:-QUIT/5/TERM/5/KILL/5}" @@ -32,9 +31,12 @@ test -x $DAEMON || exit 0 # allow overwriting variables # Debian based [ -e "/etc/default/caddy" ] && source /etc/default/caddy -# Red Hat based +# CentOS based [ -e "/etc/sysconfig/caddy" ] && source /etc/sysconfig/caddy +# daemon options +DAEMONOPTS="-agree=true -log=$LOGFILE -conf=$CONFIGFILE" + # Set the CADDYPATH; Let's Encrypt certificates will be written to this directory. export CADDYPATH From 38303a2bde92d0e9970f7a3f50f8e0547fe03396 Mon Sep 17 00:00:00 2001 From: root360-AndreasUlm Date: Mon, 25 Dec 2017 10:49:39 +0100 Subject: [PATCH 3/7] fixed sourcing command for sh Signed-off-by: root360-AndreasUlm --- dist/init/linux-sysvinit/caddy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/init/linux-sysvinit/caddy b/dist/init/linux-sysvinit/caddy index 1bafc64f161..7b1fa36932b 100644 --- a/dist/init/linux-sysvinit/caddy +++ b/dist/init/linux-sysvinit/caddy @@ -30,9 +30,9 @@ test -x $DAEMON || exit 0 # allow overwriting variables # Debian based -[ -e "/etc/default/caddy" ] && source /etc/default/caddy +[ -e "/etc/default/caddy" ] && . /etc/default/caddy # CentOS based -[ -e "/etc/sysconfig/caddy" ] && source /etc/sysconfig/caddy +[ -e "/etc/sysconfig/caddy" ] && . /etc/sysconfig/caddy # daemon options DAEMONOPTS="-agree=true -log=$LOGFILE -conf=$CONFIGFILE" From 1e8a213e13593ba9cf59ce7ac5c1eb76f20b5ab8 Mon Sep 17 00:00:00 2001 From: root360-AndreasUlm Date: Mon, 25 Dec 2017 10:30:15 +0100 Subject: [PATCH 4/7] implemented source of default file for sysvinit Signed-off-by: root360-AndreasUlm --- dist/init/linux-sysvinit/caddy | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/dist/init/linux-sysvinit/caddy b/dist/init/linux-sysvinit/caddy index 88fc963986f..6e3c310303c 100644 --- a/dist/init/linux-sysvinit/caddy +++ b/dist/init/linux-sysvinit/caddy @@ -24,14 +24,22 @@ DAEMONOPTS="-agree=true -log=$LOGFILE -conf=$CONFIGFILE" USERBIND="setcap cap_net_bind_service=+ep" STOP_SCHEDULE="${STOP_SCHEDULE:-QUIT/5/TERM/5/KILL/5}" +CADDYPATH=/etc/ssl/caddy +ULIMIT=8192 test -x $DAEMON || exit 0 +# allow overwriting variables +# Debian based +[ -e "/etc/default/caddy" ] && source /etc/default/caddy +# Red Hat based +[ -e "/etc/sysconfig/caddy" ] && source /etc/sysconfig/caddy + # Set the CADDYPATH; Let's Encrypt certificates will be written to this directory. -export CADDYPATH=/etc/ssl/caddy +export CADDYPATH # Set the ulimits -ulimit -n 8192 +ulimit -n ${ULIMIT} start() { From 438d698c742a238386031c4b22d0949ca8529dea Mon Sep 17 00:00:00 2001 From: root360-AndreasUlm Date: Mon, 25 Dec 2017 10:45:40 +0100 Subject: [PATCH 5/7] added documentation in README Signed-off-by: root360-AndreasUlm --- dist/init/linux-sysvinit/README.md | 16 ++++++++++++++++ dist/init/linux-sysvinit/caddy | 6 ++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/dist/init/linux-sysvinit/README.md b/dist/init/linux-sysvinit/README.md index f5ce4de09dc..c2a8fced2ab 100644 --- a/dist/init/linux-sysvinit/README.md +++ b/dist/init/linux-sysvinit/README.md @@ -9,3 +9,19 @@ Usage * Ensure that the folder `/etc/caddy` exists and that the folder `/etc/ssl/caddy` is owned by `www-data`. * Create a Caddyfile in `/etc/caddy/Caddyfile` * Now you can use `service caddy start|stop|restart|reload|status` as `root`. + +Init script manipulation +----- + +The init script supports configuration via the following files: +* `/etc/default/caddy` ( Debian based https://www.debian.org/doc/manuals/debian-reference/ch03.en.html#_the_default_parameter_for_each_init_script ) +* `/etc/sysconfig/caddy` ( CentOS based https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s1-sysconfig-files.html ) + +The following variables can be changed: +* DAEMON: path to the caddy binary file (default: `/usr/local/bin/caddy`) +* DAEMONUSER: user used to run caddy (default: `www-data`) +* PIDFILE: path to the pidfile (default: `/var/run/$NAME.pid`) +* LOGFILE: path to the log file for caddy daemon (not for access logs) (default: `/var/log/$NAME.log`) +* CONFIGFILE: path to the caddy configuration file (default: `/etc/caddy/Caddyfile`) +* CADDYPATH: path for SSL certificates managed by caddy (default: `/etc/ssl/caddy`) +* ULIMIT: open files limit (default: `8192`) diff --git a/dist/init/linux-sysvinit/caddy b/dist/init/linux-sysvinit/caddy index 6e3c310303c..1bafc64f161 100644 --- a/dist/init/linux-sysvinit/caddy +++ b/dist/init/linux-sysvinit/caddy @@ -20,7 +20,6 @@ DAEMONUSER=www-data PIDFILE=/var/run/$NAME.pid LOGFILE=/var/log/$NAME.log CONFIGFILE=/etc/caddy/Caddyfile -DAEMONOPTS="-agree=true -log=$LOGFILE -conf=$CONFIGFILE" USERBIND="setcap cap_net_bind_service=+ep" STOP_SCHEDULE="${STOP_SCHEDULE:-QUIT/5/TERM/5/KILL/5}" @@ -32,9 +31,12 @@ test -x $DAEMON || exit 0 # allow overwriting variables # Debian based [ -e "/etc/default/caddy" ] && source /etc/default/caddy -# Red Hat based +# CentOS based [ -e "/etc/sysconfig/caddy" ] && source /etc/sysconfig/caddy +# daemon options +DAEMONOPTS="-agree=true -log=$LOGFILE -conf=$CONFIGFILE" + # Set the CADDYPATH; Let's Encrypt certificates will be written to this directory. export CADDYPATH From c19abe357c3d4283908c5a9f0b9253231279a0ea Mon Sep 17 00:00:00 2001 From: root360-AndreasUlm Date: Mon, 25 Dec 2017 10:49:39 +0100 Subject: [PATCH 6/7] fixed sourcing command for sh Signed-off-by: root360-AndreasUlm --- dist/init/linux-sysvinit/caddy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/init/linux-sysvinit/caddy b/dist/init/linux-sysvinit/caddy index 1bafc64f161..7b1fa36932b 100644 --- a/dist/init/linux-sysvinit/caddy +++ b/dist/init/linux-sysvinit/caddy @@ -30,9 +30,9 @@ test -x $DAEMON || exit 0 # allow overwriting variables # Debian based -[ -e "/etc/default/caddy" ] && source /etc/default/caddy +[ -e "/etc/default/caddy" ] && . /etc/default/caddy # CentOS based -[ -e "/etc/sysconfig/caddy" ] && source /etc/sysconfig/caddy +[ -e "/etc/sysconfig/caddy" ] && . /etc/sysconfig/caddy # daemon options DAEMONOPTS="-agree=true -log=$LOGFILE -conf=$CONFIGFILE" From 97587c164c4e66aec4c541465b2eaaa9adf630c7 Mon Sep 17 00:00:00 2001 From: root360-AndreasUlm Date: Fri, 12 Jan 2018 09:20:58 +0100 Subject: [PATCH 7/7] implemented DAEMONOPTS overwrite Signed-off-by: root360-AndreasUlm --- dist/init/linux-sysvinit/caddy | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dist/init/linux-sysvinit/caddy b/dist/init/linux-sysvinit/caddy index 7b1fa36932b..b52a8345bc8 100644 --- a/dist/init/linux-sysvinit/caddy +++ b/dist/init/linux-sysvinit/caddy @@ -34,8 +34,10 @@ test -x $DAEMON || exit 0 # CentOS based [ -e "/etc/sysconfig/caddy" ] && . /etc/sysconfig/caddy -# daemon options -DAEMONOPTS="-agree=true -log=$LOGFILE -conf=$CONFIGFILE" +if [ -z "$DAEMONOPTS" ]; then + # daemon options + DAEMONOPTS="-agree=true -log=$LOGFILE -conf=$CONFIGFILE" +fi # Set the CADDYPATH; Let's Encrypt certificates will be written to this directory. export CADDYPATH