mirror of
https://github.com/casjaysdevdocker/opengist
synced 2026-08-14 14:01:17 -04:00
✨ Update to latest docker template revision ✨
- .env.scripts: synced version stamp to current template; preserved ENV_PULL_URL=casjaysdev/alpine (gen-dockerfile's --update path had a bug computing "alpine" instead, corrected manually per the casjaysdevdocker->casjaysdev/* base-image convention) - rootfs/usr/local/bin/entrypoint.sh: regenerated from current template; fixes stale CONTAINER_NAME="alpine" -> "opengist" and normalizes whitespace - rootfs/usr/local/etc/docker/functions/entrypoint.sh: replaced from template; picks up upstream fix for __symlink/__initialize_ssl_certs returning nonzero on success under set -e - rootfs/root/docker/setup/00-init.sh, 01-system.sh, 02-packages.sh, 03-files.sh, 04-users.sh, 06-post.sh, 07-cleanup.sh: version stamp bump only, no logic change - rootfs/root/docker/setup/05-custom.sh: version stamp bump only; restored the opengist binary download/install logic that the template regeneration would have wiped (this file is app-specific, not boilerplate)
This commit is contained in:
+2
-2
@@ -1,10 +1,10 @@
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
##@Version : 202608022140-git
|
||||
##@Version : 202608031101-git
|
||||
# @@Author : CasjaysDev
|
||||
# @@Contact : CasjaysDev <docker-admin@casjaysdev.pro>
|
||||
# @@License : WTFPL
|
||||
# @@Copyright : Copyright 2026 CasjaysDev
|
||||
# @@Created : Sun Aug 2 09:40:08 PM EDT 2026
|
||||
# @@Created : Mon Aug 3 11:01:03 AM EDT 2026
|
||||
# @@File : .env.scripts
|
||||
# @@Description : Variables for gen-dockerfile and buildx scripts
|
||||
# @@Changelog : newScript
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck shell=bash
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
##@Version : 202606120507-git
|
||||
##@Version : 202608031101-git
|
||||
# @@Author : CasjaysDev
|
||||
# @@Contact : CasjaysDev <docker-admin@casjaysdev.pro>
|
||||
# @@License : WTFPL
|
||||
# @@Copyright : Copyright 2026 CasjaysDev
|
||||
# @@Created : Fri Jun 12 05:07:20 AM EDT 2026
|
||||
# @@Created : Mon Aug 3 11:01:46 AM EDT 2026
|
||||
# @@File : 00-init.sh
|
||||
# @@Description : script to run init
|
||||
# @@Changelog : newScript
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck shell=bash
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
##@Version : 202606120507-git
|
||||
##@Version : 202608031101-git
|
||||
# @@Author : CasjaysDev
|
||||
# @@Contact : CasjaysDev <docker-admin@casjaysdev.pro>
|
||||
# @@License : WTFPL
|
||||
# @@Copyright : Copyright 2026 CasjaysDev
|
||||
# @@Created : Fri Jun 12 05:07:20 AM EDT 2026
|
||||
# @@Created : Mon Aug 3 11:01:46 AM EDT 2026
|
||||
# @@File : 01-system.sh
|
||||
# @@Description : script to run system
|
||||
# @@Changelog : newScript
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck shell=bash
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
##@Version : 202606120507-git
|
||||
##@Version : 202608031101-git
|
||||
# @@Author : CasjaysDev
|
||||
# @@Contact : CasjaysDev <docker-admin@casjaysdev.pro>
|
||||
# @@License : WTFPL
|
||||
# @@Copyright : Copyright 2026 CasjaysDev
|
||||
# @@Created : Fri Jun 12 05:07:20 AM EDT 2026
|
||||
# @@Created : Mon Aug 3 11:01:46 AM EDT 2026
|
||||
# @@File : 02-packages.sh
|
||||
# @@Description : script to run packages
|
||||
# @@Changelog : newScript
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck shell=bash
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
##@Version : 202606120507-git
|
||||
##@Version : 202608031101-git
|
||||
# @@Author : CasjaysDev
|
||||
# @@Contact : CasjaysDev <docker-admin@casjaysdev.pro>
|
||||
# @@License : WTFPL
|
||||
# @@Copyright : Copyright 2026 CasjaysDev
|
||||
# @@Created : Fri Jun 12 05:07:20 AM EDT 2026
|
||||
# @@Created : Mon Aug 3 11:01:46 AM EDT 2026
|
||||
# @@File : 03-files.sh
|
||||
# @@Description : script to run files
|
||||
# @@Changelog : newScript
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck shell=bash
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
##@Version : 202606120507-git
|
||||
##@Version : 202608031101-git
|
||||
# @@Author : CasjaysDev
|
||||
# @@Contact : CasjaysDev <docker-admin@casjaysdev.pro>
|
||||
# @@License : WTFPL
|
||||
# @@Copyright : Copyright 2026 CasjaysDev
|
||||
# @@Created : Fri Jun 12 05:07:20 AM EDT 2026
|
||||
# @@Created : Mon Aug 3 11:01:46 AM EDT 2026
|
||||
# @@File : 04-users.sh
|
||||
# @@Description : script to run users
|
||||
# @@Changelog : newScript
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck shell=bash
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
##@Version : 202608022207-git
|
||||
##@Version : 202608031101-git
|
||||
# @@Author : CasjaysDev
|
||||
# @@Contact : CasjaysDev <docker-admin@casjaysdev.pro>
|
||||
# @@License : WTFPL
|
||||
# @@Copyright : Copyright 2026 CasjaysDev
|
||||
# @@Created : Fri Jun 12 05:07:20 AM EDT 2026
|
||||
# @@Created : Mon Aug 3 11:01:46 AM EDT 2026
|
||||
# @@File : 05-custom.sh
|
||||
# @@Description : script to run custom
|
||||
# @@Changelog : newScript
|
||||
@@ -23,7 +23,7 @@
|
||||
set -eo pipefail
|
||||
[ "$DEBUGGER" = "on" ] && echo "Enabling debugging" && set -x$DEBUGGER_OPTIONS
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
VERSION="202608022207-git"
|
||||
VERSION="202608031101-git"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Set env variables
|
||||
OPENGIST_EXITCODE=0
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck shell=bash
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
##@Version : 202606120507-git
|
||||
##@Version : 202608031101-git
|
||||
# @@Author : CasjaysDev
|
||||
# @@Contact : CasjaysDev <docker-admin@casjaysdev.pro>
|
||||
# @@License : WTFPL
|
||||
# @@Copyright : Copyright 2026 CasjaysDev
|
||||
# @@Created : Fri Jun 12 05:07:20 AM EDT 2026
|
||||
# @@Created : Mon Aug 3 11:01:46 AM EDT 2026
|
||||
# @@File : 06-post.sh
|
||||
# @@Description : script to run post
|
||||
# @@Changelog : newScript
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck shell=bash
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
##@Version : 202606120507-git
|
||||
##@Version : 202608031101-git
|
||||
# @@Author : CasjaysDev
|
||||
# @@Contact : CasjaysDev <docker-admin@casjaysdev.pro>
|
||||
# @@License : WTFPL
|
||||
# @@Copyright : Copyright 2026 CasjaysDev
|
||||
# @@Created : Fri Jun 12 05:07:20 AM EDT 2026
|
||||
# @@Created : Mon Aug 3 11:01:46 AM EDT 2026
|
||||
# @@File : 07-cleanup.sh
|
||||
# @@Description : script to run cleanup
|
||||
# @@Changelog : newScript
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck shell=bash
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
##@Version : 202606041210-git
|
||||
##@Version : 202607082023-git
|
||||
# @@Author : Jason Hempstead
|
||||
# @@Contact : jason@casjaysdev.pro
|
||||
# @@License : WTFPL
|
||||
# @@ReadME : entrypoint.sh --help
|
||||
# @@Copyright : Copyright: (c) 2026 Jason Hempstead, Casjays Developments
|
||||
# @@Created : Friday, Jun 12, 2026 05:07 EDT
|
||||
# @@Created : Monday, Aug 03, 2026 11:01 EDT
|
||||
# @@File : entrypoint.sh
|
||||
# @@Description : Entrypoint file for alpine
|
||||
# @@Description : Entrypoint file for opengist
|
||||
# @@Changelog : New script
|
||||
# @@TODO : Better documentation
|
||||
# @@Other :
|
||||
@@ -39,7 +39,7 @@ PATH="/usr/local/etc/docker/bin:/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Set bash options
|
||||
SCRIPT_FILE="$0"
|
||||
CONTAINER_NAME="alpine"
|
||||
CONTAINER_NAME="opengist"
|
||||
SCRIPT_NAME="${SCRIPT_FILE##*/}"
|
||||
CONTAINER_NAME="${ENV_CONTAINER_NAME:-$CONTAINER_NAME}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
@@ -95,8 +95,8 @@ SERVICE_UID="${SERVICE_UID:-0}"
|
||||
SERVICE_GID="${SERVICE_GID:-0}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# User and group in which the service switches to - IE: nginx,apache,mysql,postgres
|
||||
#SERVICE_USER="${SERVICE_USER:-alpine}" # execute command as another user
|
||||
#SERVICE_GROUP="${SERVICE_GROUP:-alpine}" # Set the service group
|
||||
#SERVICE_USER="${SERVICE_USER:-opengist}" # execute command as another user
|
||||
#SERVICE_GROUP="${SERVICE_GROUP:-opengist}" # Set the service group
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Secondary ports
|
||||
# specifiy other ports
|
||||
@@ -123,7 +123,7 @@ export PATH RUNAS_USER SERVICE_USER SERVICE_GROUP SERVICE_UID SERVICE_GID WWW_RO
|
||||
# show message
|
||||
__run_message() {
|
||||
|
||||
return
|
||||
return 0
|
||||
}
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
################## END OF CONFIGURATION #####################
|
||||
@@ -291,7 +291,7 @@ fi
|
||||
if [ "$ENTRYPOINT_FIRST_RUN" != "no" ]; then
|
||||
if [ "$CONFIG_DIR_INITIALIZED" = "no" ] || [ "$DATA_DIR_INITIALIZED" = "no" ]; then
|
||||
if [ "$ENTRYPOINT_MESSAGE" = "yes" ]; then
|
||||
echo "Executing entrypoint script for alpine"
|
||||
echo "Executing entrypoint script for opengist"
|
||||
fi
|
||||
fi
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
@@ -370,7 +370,7 @@ if [ "$ENTRYPOINT_FIRST_RUN" != "no" ]; then
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# import hosts file into container
|
||||
if [ -f "/usr/local/etc/hosts" ] && [ "$UPDATE_FILE_HOSTS" = "yes" ]; then
|
||||
grep -vF "$HOSTNAME" "/usr/local/etc/hosts" 2>/dev/null >>"/etc/hosts" || true
|
||||
grep -vF -- "$HOSTNAME" "/usr/local/etc/hosts" 2>/dev/null >>"/etc/hosts" || true
|
||||
fi
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# import resolv.conf file into container
|
||||
@@ -423,7 +423,7 @@ if [ "$ENTRYPOINT_FIRST_RUN" != "no" ] || [ "$CONFIG_DIR_INITIALIZED" = "no" ] |
|
||||
fi
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# setup the smtp server
|
||||
__setup_mta
|
||||
__setup_mta || true
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
ENTRYPOINT_FIRST_RUN="no"
|
||||
fi
|
||||
@@ -580,7 +580,7 @@ healthcheck)
|
||||
services+="$name "
|
||||
done
|
||||
fi
|
||||
services="$(printf '%s\n' $services | sort -u | grep -v '^$')"
|
||||
services="$(printf '%s\n' $services | sort -u | grep -v -- '^$')"
|
||||
for proc in $services; do
|
||||
if [ -n "$proc" ]; then
|
||||
if ! __pgrep "$proc"; then
|
||||
@@ -591,7 +591,7 @@ healthcheck)
|
||||
done
|
||||
for port in $healthPorts; do
|
||||
if command -v netstat &>/dev/null && [ -n "$port" ]; then
|
||||
if ! netstat -taupln | grep -q ":$port "; then
|
||||
if ! netstat -taupln | grep -q -- ":$port "; then
|
||||
echo "$port isn't open" >&2
|
||||
healthStatus=$((healthStatus + 1))
|
||||
fi
|
||||
@@ -621,7 +621,7 @@ ports)
|
||||
# show running processes
|
||||
procs)
|
||||
shift 1
|
||||
ps="$(__ps axco command 2>/dev/null | grep -vE '^(COMMAND|grep|ps)$' | sort -u)"
|
||||
ps="$(__ps axco command 2>/dev/null | grep -vE -- '^(COMMAND|grep|ps)$' | sort -u)"
|
||||
[ -n "$ps" ] && printf '%s\n%s\n' "Found the following processes" "$ps" | tr '\n' ' '
|
||||
exit $?
|
||||
;;
|
||||
@@ -630,7 +630,7 @@ procs)
|
||||
# interpreter name kept as argv[0] for __exec_command's `exec "$@"` to work;
|
||||
# shifting it away turned "sh -c 'cmd'" into `exec -c cmd` (command not found)
|
||||
*/bin/sh | */bin/bash | bash | sh)
|
||||
__exec_command "${@:-/bin/bash -l}"
|
||||
__exec_command "$@"
|
||||
exit $?
|
||||
;;
|
||||
# "shell" is a keyword, not a real interpreter — it must be shifted away, and
|
||||
@@ -648,7 +648,11 @@ shell)
|
||||
# execute commands
|
||||
exec)
|
||||
shift 1
|
||||
__exec_command "${@:-echo "No commands given"}"
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "No command given to exec" >&2
|
||||
exit 1
|
||||
fi
|
||||
__exec_command "$@"
|
||||
exit $?
|
||||
;;
|
||||
# show/start init scripts
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck shell=bash
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
##@Version : 202607271325-git
|
||||
##@Version : 202608030955-git
|
||||
# @@Author : Jason Hempstead
|
||||
# @@Contact : git-admin@casjaysdev.pro
|
||||
# @@License : LICENSE.md
|
||||
@@ -10,7 +10,7 @@
|
||||
# @@Created : Sunday, Sep 03, 2023 01:40 EDT
|
||||
# @@File : docker-entrypoint
|
||||
# @@Description : functions for my docker containers
|
||||
# @@Changelog : fix __setup_mta calling __symlink with from/to swapped, which no-op'd the symlink and broke msmtp/ssmtp/postfix config on container start
|
||||
# @@Changelog : fix __symlink/__initialize_ssl_certs returning nonzero on success under set -e, aborting the entrypoint on symlink success
|
||||
# @@TODO : Refactor code
|
||||
# @@Other :
|
||||
# @@Resource :
|
||||
@@ -35,7 +35,7 @@ fi
|
||||
__remove_extra_spaces() { sed -E 's/ +/ /g; s|^ ||'; }
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
__log_debug() {
|
||||
[ "$DEBUGGER" = "on" ] && echo "[DEBUG] $*" >&2 || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "[DEBUG] $*" >&2
|
||||
}
|
||||
__log_info() {
|
||||
echo "[INFO] $*"
|
||||
@@ -62,7 +62,7 @@ __printf_space() {
|
||||
__mkdir() {
|
||||
if [ -n "$1" ]; then
|
||||
if ! mkdir -p "$@" 2>/dev/null; then
|
||||
[ "$DEBUGGER" = "on" ] && echo "Warning: Failed to create directory: $*" >&2 || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "Warning: Failed to create directory: $*" >&2
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
@@ -71,7 +71,7 @@ __mkdir() {
|
||||
__rm() {
|
||||
if [ -n "$1" ] && [ -e "$1" ]; then
|
||||
if ! rm -Rf "${1:?}" 2>/dev/null; then
|
||||
[ "$DEBUGGER" = "on" ] && echo "Warning: Failed to remove: $1" >&2 || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "Warning: Failed to remove: $1" >&2
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
@@ -80,7 +80,7 @@ __rm() {
|
||||
__grep_test() { grep -sh "$1" "$2" 2>/dev/null | grep -qwF "${3:-$1}"; }
|
||||
__netstat() {
|
||||
command -v netstat &>/dev/null || {
|
||||
[ "$DEBUGGER" = "on" ] && echo "Warning: netstat command not found" >&2 || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "Warning: netstat command not found" >&2
|
||||
return 10
|
||||
}
|
||||
netstat "$@" 2>/dev/null
|
||||
@@ -171,7 +171,7 @@ __is_running() {
|
||||
}
|
||||
__get_pid() {
|
||||
if [ -z "$1" ]; then
|
||||
[ "$DEBUGGER" = "on" ] && echo "Warning: __get_pid called without process name" >&2 || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "Warning: __get_pid called without process name" >&2
|
||||
return 1
|
||||
fi
|
||||
local pid
|
||||
@@ -180,7 +180,7 @@ __get_pid() {
|
||||
echo "$pid"
|
||||
return 0
|
||||
fi
|
||||
[ "$DEBUGGER" = "on" ] && echo "Debug: No PID found for process: $1" >&2 || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "Debug: No PID found for process: $1" >&2
|
||||
return 1
|
||||
}
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
@@ -368,7 +368,7 @@ __init_working_dir() {
|
||||
# cd to dir
|
||||
__cd "${workdir:-$home}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
[ "$DEBUGGER" = "on" ] && echo "Setting the working directory to: $PWD" || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "Setting the working directory to: $PWD"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
export WORK_DIR="$workdir" HOME="$home"
|
||||
}
|
||||
@@ -376,7 +376,7 @@ __init_working_dir() {
|
||||
__exec_service() {
|
||||
local count=6
|
||||
local bgpid
|
||||
[ "$DEBUGGER" = "on" ] && echo "Starting $1" || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "Starting $1"
|
||||
eval "$@" &
|
||||
bgpid=$!
|
||||
while [ $count -ne 0 ]; do
|
||||
@@ -607,7 +607,7 @@ __cron() {
|
||||
[ -d "/run/cron" ] || mkdir -p "/run/cron"
|
||||
echo "$pid" >"/run/cron/$bin.pid"
|
||||
echo "$command" >"/run/cron/$bin.run"
|
||||
[ "$DEBUGGER" = "on" ] && echo "Log is saved to /data/logs/cron.log" || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "Log is saved to /data/logs/cron.log"
|
||||
# eval is intentional: $command is operator-controlled input from this container's init
|
||||
while :; do
|
||||
eval "$command"
|
||||
@@ -645,7 +645,15 @@ __symlink() {
|
||||
[ "$from" = "$to" ] && return 0
|
||||
__rm "$from"
|
||||
[ -d "${from%/*}" ] || mkdir -p "${from%/*}" 2>/dev/null
|
||||
ln -sf "$to" "$from" && [ "$DEBUGGER" = "on" ] && echo "Created symlink: $from -> $to" || true
|
||||
# Debug echo is decoupled from the return value on purpose — under
|
||||
# set -eo pipefail, a bare "[ "$DEBUGGER" = on ] && echo" tail made this
|
||||
# function return 1 (aborting the whole entrypoint) whenever the symlink
|
||||
# succeeded but DEBUGGER was unset, since that's the normal/default case
|
||||
if ln -sf "$to" "$from"; then
|
||||
[ "$DEBUGGER" = "on" ] && echo "Created symlink: $from -> $to"
|
||||
return 0
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
__file_copy() {
|
||||
@@ -657,7 +665,7 @@ __file_copy() {
|
||||
if [ -n "$from" ] && [ -e "$from" ] && [ -n "$dest" ]; then
|
||||
if [ -d "$from" ]; then
|
||||
if cp -Rf "$from/." "$dest/" &>/dev/null; then
|
||||
[ "$DEBUGGER" = "on" ] && printf '%s\n' "Copied: $from > $dest" || true
|
||||
[ "$DEBUGGER" = "on" ] && printf '%s\n' "Copied: $from > $dest"
|
||||
return 0
|
||||
else
|
||||
printf '%s\n' "Copy failed: $from < $dest" >&2
|
||||
@@ -665,7 +673,7 @@ __file_copy() {
|
||||
fi
|
||||
else
|
||||
if cp -Rf "$from" "$dest" &>/dev/null; then
|
||||
[ "$DEBUGGER" = "on" ] && printf '%s\n' "Copied: $from > $dest" || true
|
||||
[ "$DEBUGGER" = "on" ] && printf '%s\n' "Copied: $from > $dest"
|
||||
return 0
|
||||
else
|
||||
printf '%s\n' "Copy failed: $from < $dest" >&2
|
||||
@@ -703,7 +711,7 @@ __setup_directories() {
|
||||
__initialize_www_root
|
||||
mkdir -p "$WWW_ROOT_DIR" 2>/dev/null
|
||||
find "$WWW_ROOT_DIR" -type d -exec chmod -f 777 {} \; 2>/dev/null
|
||||
[ "$DEBUGGER" = "on" ] && echo "Created directory $WWW_ROOT_DIR" || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "Created directory $WWW_ROOT_DIR"
|
||||
fi
|
||||
# Setup DATABASE_DIR
|
||||
if [ "$IS_DATABASE_SERVICE" = "yes" ] || [ "$USES_DATABASE_SERVICE" = "yes" ]; then
|
||||
@@ -711,7 +719,7 @@ __setup_directories() {
|
||||
if __is_dir_empty "$DATABASE_DIR" || [ ! -d "$DATABASE_DIR" ]; then
|
||||
mkdir -p "$DATABASE_DIR" 2>/dev/null
|
||||
chmod -f 777 "$DATABASE_DIR" 2>/dev/null
|
||||
[ "$DEBUGGER" = "on" ] && echo "Created directory $DATABASE_DIR" || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "Created directory $DATABASE_DIR"
|
||||
fi
|
||||
fi
|
||||
# create default directories
|
||||
@@ -719,7 +727,7 @@ __setup_directories() {
|
||||
if [ -n "$filedirs" ] && [ ! -d "$filedirs" ]; then
|
||||
mkdir -p "$filedirs" 2>/dev/null
|
||||
chmod -f 777 "$filedirs" 2>/dev/null
|
||||
[ "$DEBUGGER" = "on" ] && echo "Created directory $filedirs" || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "Created directory $filedirs"
|
||||
fi
|
||||
done
|
||||
# create default files
|
||||
@@ -727,7 +735,7 @@ __setup_directories() {
|
||||
if [ -n "$application_files" ] && [ ! -e "$application_files" ]; then
|
||||
touch "$application_files" 2>/dev/null
|
||||
chmod -Rf 777 "$application_files" 2>/dev/null
|
||||
[ "$DEBUGGER" = "on" ] && echo "Created file $application_files" || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "Created file $application_files"
|
||||
fi
|
||||
done
|
||||
}
|
||||
@@ -742,7 +750,7 @@ __fix_permissions() {
|
||||
for permissions in $ADD_APPLICATION_DIRS $APPLICATION_DIRS; do
|
||||
if [ -n "$permissions" ] && [ -e "$permissions" ]; then
|
||||
chown -Rf "$change_user" "$permissions" 2>/dev/null
|
||||
[ "$DEBUGGER" = "on" ] && echo "Changed ownership of $permissions to $change_user" || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "Changed ownership of $permissions to $change_user"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
@@ -752,7 +760,7 @@ __fix_permissions() {
|
||||
for permissions in $ADD_APPLICATION_DIRS $APPLICATION_DIRS; do
|
||||
if [ -n "$permissions" ] && [ -e "$permissions" ]; then
|
||||
chgrp -Rf "$change_group" "$permissions" 2>/dev/null
|
||||
[ "$DEBUGGER" = "on" ] && echo "Changed group of $permissions to $change_group" || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "Changed group of $permissions to $change_group"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
@@ -1002,7 +1010,7 @@ __start_init_scripts() {
|
||||
|
||||
# Clean stale PID files from previous runs
|
||||
if [ ! -f "/run/.start_init_scripts.pid" ]; then
|
||||
[ "$DEBUGGER" = "on" ] && echo "Cleaning stale PID files from previous container run" || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "Cleaning stale PID files from previous container run"
|
||||
rm -f /run/*.pid /run/init.d/*.pid 2>/dev/null || true
|
||||
fi
|
||||
|
||||
@@ -1030,7 +1038,7 @@ __start_init_scripts() {
|
||||
touch "$pidFile"
|
||||
name="${init##*/}"
|
||||
service="${name#*-}"; service="${service%.sh}"
|
||||
[ "$DEBUGGER" = "on" ] && __service_banner "🔧" "Executing service script:" "${init##*/}" || true
|
||||
[ "$DEBUGGER" = "on" ] && __service_banner "🔧" "Executing service script:" "${init##*/}"
|
||||
# Execute the init script and capture the exit code (subshell isolates exit calls)
|
||||
if ( source "$init" ); then
|
||||
# Check if service was disabled first
|
||||
@@ -1180,14 +1188,13 @@ EOF
|
||||
if [ ! -e "/usr/sbin/sendmail" ] && command -v msmtp &>/dev/null; then
|
||||
__symlink "/usr/sbin/sendmail" "$(command -v msmtp)"
|
||||
fi
|
||||
[ "$DEBUGGER" = "on" ] && echo "Done setting up msmtp" || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "Done setting up msmtp"
|
||||
fi
|
||||
|
||||
################# sSMTP relay setup
|
||||
elif command -v ssmtp &>/dev/null; then
|
||||
[ -d "/config/ssmtp" ] || mkdir -p "/config/ssmtp"
|
||||
[ -f "/etc/ssmtp/ssmtp.conf" ] && __rm "/etc/ssmtp/ssmtp.conf"
|
||||
symlink_files="$(__find_file_relative "/config/ssmtp")"
|
||||
if [ ! -f "/config/ssmtp/ssmtp.conf" ]; then
|
||||
cat >"/config/ssmtp/ssmtp.conf" <<EOF
|
||||
# ssmtp configuration.
|
||||
@@ -1205,6 +1212,9 @@ FromLineOverride=yes
|
||||
|
||||
EOF
|
||||
fi
|
||||
# Computed after config creation so a fresh /config/ssmtp still picks up
|
||||
# the just-created ssmtp.conf instead of symlinking nothing on first run
|
||||
symlink_files="$(__find_file_relative "/config/ssmtp")"
|
||||
if [ -f "/config/ssmtp/ssmtp.conf" ]; then
|
||||
# __symlink(from, to) requires the "to" (config) side to already exist
|
||||
# and creates "from" (etc) as a symlink to it — arguments were reversed here
|
||||
@@ -1221,7 +1231,7 @@ EOF
|
||||
__symlink "/etc/ssmtp/revaliases" "/config/ssmtp/revaliases"
|
||||
__initialize_replace_variables "/etc/ssmtp/revaliases"
|
||||
fi
|
||||
[ "$DEBUGGER" = "on" ] && echo "Done setting up ssmtp" || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "Done setting up ssmtp"
|
||||
fi
|
||||
|
||||
################# postfix relay setup
|
||||
@@ -1229,7 +1239,6 @@ EOF
|
||||
[ -d "/etc/postfix" ] || mkdir -p "/etc/postfix"
|
||||
[ -d "/config/postfix" ] || mkdir -p "/config/postfix"
|
||||
[ -f "/etc/postfix/main.cf" ] && __rm "/etc/postfix/main.cf"
|
||||
symlink_files="$(__find_file_relative "/config/postfix")"
|
||||
if [ ! -f "/config/postfix/main.cf" ]; then
|
||||
cat >"/config/postfix/main.cf" <<EOF
|
||||
# postfix configuration.
|
||||
@@ -1258,6 +1267,9 @@ relayhost = [$relay_server]:$relay_port
|
||||
|
||||
EOF
|
||||
fi
|
||||
# Computed after config creation so a fresh /config/postfix still picks
|
||||
# up the just-created main.cf instead of symlinking nothing on first run
|
||||
symlink_files="$(__find_file_relative "/config/postfix")"
|
||||
if [ -d "/config/postfix" ]; then
|
||||
# __symlink(from, to) requires the "to" (config) side to already exist
|
||||
# and creates "from" (etc) as a symlink to it — arguments were reversed here
|
||||
@@ -1275,7 +1287,7 @@ EOF
|
||||
if [ ! -f "/run/init.d/postfix.pid" ]; then
|
||||
__exec_service postfix start
|
||||
fi
|
||||
[ "$DEBUGGER" = "on" ] && echo "Done setting up postfix" || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "Done setting up postfix"
|
||||
fi
|
||||
fi
|
||||
[ -f "/root/dead.letter" ] && __rm "/root/dead.letter"
|
||||
@@ -1386,12 +1398,12 @@ __initialize_system_etc() {
|
||||
if [ -n "$conf_dir" ] && [ -e "$conf_dir" ]; then
|
||||
files=$(find "$conf_dir"/* -not -path '*/env/*' -type f 2>/dev/null | sort -u | sed 's|/config/||')
|
||||
directories=$(find "$conf_dir"/* -not -path '*/env/*' -type d 2>/dev/null | sort -u | sed 's|/config/||')
|
||||
[ "$DEBUGGER" = "on" ] && echo "Copying config: $conf_dir > /etc/${conf_dir//\/config\//}" || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "Copying config: $conf_dir > /etc/${conf_dir//\/config\//}"
|
||||
if [ -n "$directories" ]; then
|
||||
for d in $directories; do
|
||||
dir="/etc/$d"
|
||||
mkdir -p "$dir"
|
||||
[ "$DEBUGGER" = "on" ] && echo "Created directory: $dir" || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "Created directory: $dir"
|
||||
done
|
||||
fi
|
||||
for f in $files; do
|
||||
@@ -1410,7 +1422,7 @@ __initialize_custom_bin_dir() {
|
||||
[ -d "/data/bin" ] && SET_USR_BIN+="$(__find /data/bin f) "
|
||||
[ -d "/config/bin" ] && SET_USR_BIN+="$(__find /config/bin f) "
|
||||
if [ -n "$SET_USR_BIN" ]; then
|
||||
[ "$DEBUGGER" = "on" ] && echo "Setting up bin: $SET_USR_BIN > $LOCAL_BIN_DIR" || true
|
||||
[ "$DEBUGGER" = "on" ] && echo "Setting up bin: $SET_USR_BIN > $LOCAL_BIN_DIR"
|
||||
for create_bin_template in $SET_USR_BIN; do
|
||||
if [ -n "$create_bin_template" ]; then
|
||||
create_bin_name="${create_bin_template##*/}"
|
||||
@@ -1485,7 +1497,13 @@ __initialize_ssl_certs() {
|
||||
__create_ssl_cert
|
||||
fi
|
||||
fi
|
||||
type update-ca-certificates &>/dev/null && update-ca-certificates &>/dev/null
|
||||
# Explicit return so a missing update-ca-certificates binary (common on
|
||||
# minimal images) never becomes this function's return value — under
|
||||
# set -eo pipefail that would abort the caller when this is called bare
|
||||
if type update-ca-certificates &>/dev/null; then
|
||||
update-ca-certificates &>/dev/null
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
__start_php_dev_server() {
|
||||
|
||||
Reference in New Issue
Block a user