mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-11-18 02:56:31 +00:00
Compare commits
2 Commits
2610aec293
...
0b86b2f057
| Author | SHA1 | Date | |
|---|---|---|---|
| 0b86b2f057 | |||
| 80e048a274 |
@@ -5,6 +5,6 @@ MODE_DUMMY: false # Executes dummy/test routines instead
|
|||||||
MODE_UPDATE: true # Executes updates
|
MODE_UPDATE: true # Executes updates
|
||||||
MODE_DEBUG: false # This enables debugging in ansible and in the apps, You SHOULD NOT enable this on production servers
|
MODE_DEBUG: false # This enables debugging in ansible and in the apps, You SHOULD NOT enable this on production servers
|
||||||
MODE_RESET: false # Cleans up all Infinito.Nexus files. It's necessary to run to whole playbook and not particial roles when using this function.
|
MODE_RESET: false # Cleans up all Infinito.Nexus files. It's necessary to run to whole playbook and not particial roles when using this function.
|
||||||
MODE_CLEANUP: "{{ MODE_DEBUG | bool }}" # Cleanup unused files and configurations
|
MODE_CLEANUP: true # Cleanup unused files and configurations
|
||||||
MODE_ASSERT: "{{ MODE_DEBUG | bool }}" # Executes validation tasks during the run.
|
MODE_ASSERT: "{{ MODE_DEBUG | bool }}" # Executes validation tasks during the run.
|
||||||
MODE_BACKUP: true # Executes the Backup before the deployment
|
MODE_BACKUP: true # Executes the Backup before the deployment
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ users:
|
|||||||
username: "{{ PRIMARY_DOMAIN.split('.')[0] }}"
|
username: "{{ PRIMARY_DOMAIN.split('.')[0] }}"
|
||||||
tld:
|
tld:
|
||||||
description: "Auto Generated Account to reserve the TLD"
|
description: "Auto Generated Account to reserve the TLD"
|
||||||
username: "{{ PRIMARY_DOMAIN.split('.')[1] }}"
|
username: "{{ PRIMARY_DOMAIN.split('.')[1] if (PRIMARY_DOMAIN is defined and (PRIMARY_DOMAIN.split('.') | length) > 1) else (PRIMARY_DOMAIN ~ '_tld ') }}"
|
||||||
root:
|
root:
|
||||||
username: root
|
username: root
|
||||||
uid: 0
|
uid: 0
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
set -euo pipefail
|
# POSIX-safe entrypoint for EspoCRM container
|
||||||
|
# Compatible with /bin/sh (dash/busybox). Avoids 'pipefail' and non-portable features.
|
||||||
|
set -eu
|
||||||
|
|
||||||
log() { printf '%s %s\n' "[entrypoint]" "$*" >&2; }
|
log() { printf '%s %s\n' "[entrypoint]" "$*" >&2; }
|
||||||
|
|
||||||
# --- Simple boolean normalization --------------------------------------------
|
# --- Simple boolean normalization --------------------------------------------
|
||||||
bool_norm () {
|
bool_norm () {
|
||||||
v="$(printf '%s' "${1:-}" | tr '[:upper:]' '[:lower:]')"
|
v="$(printf '%s' "${1:-}" | tr '[:upper:]' '[:lower:]' 2>/dev/null || true)"
|
||||||
case "$v" in
|
case "$v" in
|
||||||
1|true|yes|on) echo "true" ;;
|
1|true|yes|on) echo "true" ;;
|
||||||
0|false|no|off|"") echo "false" ;;
|
0|false|no|off|"") echo "false" ;;
|
||||||
@@ -13,30 +15,45 @@ bool_norm () {
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
# Expected ENV (from env.j2)
|
# --- Environment initialization ----------------------------------------------
|
||||||
MAINTENANCE="$(bool_norm "${ESPO_INIT_MAINTENANCE_MODE:-false}")"
|
MAINTENANCE="$(bool_norm "${ESPO_INIT_MAINTENANCE_MODE:-false}")"
|
||||||
CRON_DISABLED="$(bool_norm "${ESPO_INIT_CRON_DISABLED:-false}")"
|
CRON_DISABLED="$(bool_norm "${ESPO_INIT_CRON_DISABLED:-false}")"
|
||||||
USE_CACHE="$(bool_norm "${ESPO_INIT_USE_CACHE:-true}")"
|
USE_CACHE="$(bool_norm "${ESPO_INIT_USE_CACHE:-true}")"
|
||||||
|
|
||||||
APP_DIR="/var/www/html"
|
APP_DIR="/var/www/html"
|
||||||
SET_FLAGS_SCRIPT="${ESPOCRM_SET_FLAGS_SCRIPT}"
|
|
||||||
|
# Provided by env.j2 (fallback ensures robustness)
|
||||||
|
SET_FLAGS_SCRIPT="${ESPOCRM_SET_FLAGS_SCRIPT:-/usr/local/bin/set_flags.php}"
|
||||||
|
if [ ! -f "$SET_FLAGS_SCRIPT" ]; then
|
||||||
|
log "WARN: SET_FLAGS_SCRIPT '$SET_FLAGS_SCRIPT' not found; falling back to /usr/local/bin/set_flags.php"
|
||||||
|
SET_FLAGS_SCRIPT="/usr/local/bin/set_flags.php"
|
||||||
|
fi
|
||||||
|
|
||||||
# --- Wait for bootstrap.php (max 60s, e.g. fresh volume) ----------------------
|
# --- Wait for bootstrap.php (max 60s, e.g. fresh volume) ----------------------
|
||||||
log "Waiting for ${APP_DIR}/bootstrap.php..."
|
log "Waiting for ${APP_DIR}/bootstrap.php..."
|
||||||
for i in $(seq 1 60); do
|
count=0
|
||||||
[ -f "${APP_DIR}/bootstrap.php" ] && break
|
while [ $count -lt 60 ] && [ ! -f "${APP_DIR}/bootstrap.php" ]; do
|
||||||
sleep 1
|
sleep 1
|
||||||
|
count=$((count + 1))
|
||||||
done
|
done
|
||||||
if [ ! -f "${APP_DIR}/bootstrap.php" ]; then
|
if [ ! -f "${APP_DIR}/bootstrap.php" ]; then
|
||||||
log "ERROR: bootstrap.php missing after 60s"; exit 1
|
log "ERROR: bootstrap.php missing after 60s"
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# --- Apply config flags via set_flags.php ------------------------------------
|
# --- Apply config flags via set_flags.php ------------------------------------
|
||||||
log "Applying runtime flags via set_flags.php..."
|
log "Applying runtime flags via set_flags.php..."
|
||||||
php "${SET_FLAGS_SCRIPT}"
|
if ! php "${SET_FLAGS_SCRIPT}"; then
|
||||||
|
log "ERROR: set_flags.php execution failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# --- Clear cache (safe) -------------------------------------------------------
|
# --- Clear cache (safe) -------------------------------------------------------
|
||||||
php "${APP_DIR}/clear_cache.php" || true
|
if php "${APP_DIR}/clear_cache.php" 2>/dev/null; then
|
||||||
|
log "Cache cleared successfully."
|
||||||
|
else
|
||||||
|
log "WARN: Cache clearing skipped or failed (non-critical)."
|
||||||
|
fi
|
||||||
|
|
||||||
# --- Hand off to CMD ----------------------------------------------------------
|
# --- Hand off to CMD ----------------------------------------------------------
|
||||||
if [ "$#" -gt 0 ]; then
|
if [ "$#" -gt 0 ]; then
|
||||||
@@ -56,5 +73,6 @@ for cmd in apache2-foreground httpd-foreground php-fpm php-fpm8.3 php-fpm8.2 sup
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# --- Fallback ---------------------------------------------------------------
|
||||||
log "No known server command found; tailing to keep container alive."
|
log "No known server command found; tailing to keep container alive."
|
||||||
exec tail -f /dev/null
|
exec tail -f /dev/null
|
||||||
|
|||||||
@@ -13,4 +13,3 @@
|
|||||||
{% include 'roles/docker-container/templates/networks.yml.j2' %}
|
{% include 'roles/docker-container/templates/networks.yml.j2' %}
|
||||||
|
|
||||||
{% include 'roles/docker-compose/templates/networks.yml.j2' %}
|
{% include 'roles/docker-compose/templates/networks.yml.j2' %}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user