#!/usr/bin/env bash # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Set bash options [ "$DEBUGGER" = "on" ] && echo "Enabling debugging" && set -o pipefail -x$DEBUGGER_OPTIONS || set -o pipefail # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # import the functions file if [ -f "/usr/local/etc/docker/functions/entrypoint.sh" ]; then . "/usr/local/etc/docker/functions/entrypoint.sh" fi # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # GLOBAL enviroment variables USER="${USER:-root}" LANG="${LANG:-C.UTF-8}" TZ="${TZ:-America/New_York}" SERVICE_USER="${SERVICE_USER:-root}" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # directory settings BACKUP_DIR="${BACKUP_DIR:-/data/backups}" WWW_ROOT_DIR="${WWW_ROOT_DIR:-/usr/share/webapps/sqlite}" LOCAL_BIN_DIR="${LOCAL_BIN_DIR:-/usr/local/bin}" DATABASE_BASE_DIR="${DATABASE_BASE_DIR:-/data/db}" DEFAULT_DATA_DIR="${DEFAULT_DATA_DIR:-/usr/local/share/template-files/data}" DEFAULT_CONF_DIR="${DEFAULT_CONF_DIR:-/usr/local/share/template-files/config}" DEFAULT_TEMPLATE_DIR="${DEFAULT_TEMPLATE_DIR:-/usr/local/share/template-files/defaults}" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # healthcheck HEALTH_ENABLED="${HEALTH_ENABLED:-}" HEALTH_URL="${HEALTH_URL:-}" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # php settings PHP_VERSION="${PHP_VERSION//php/}" PHP_INI_DIR="${PHP_INI_DIR:-$(__find_php_ini)}" PHP_BIN_DIR="${PHP_BIN_DIR:-$(__find_php_bin)}" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # services/ports ENV_PORTS="${ENV_PORTS:-}" SERVICE_PORT="${SERVICE_PORT:-$PORT}" WEB_SERVER_PORTS="${WEB_SERVER_PORTS:-}" SERVICES_LIST="${PROCS_LIST:-$SERVICES_LIST} " # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # networing info HOSTNAME="${HOSTNAME:-casjaysdev-GEN_SCRIPT_REPLACE_APPNAME}" DOMAINNAME="${DOMAINNAME:-}" FULL_DOMAIN_NAME="${FULL_DOMAIN_NAME:-${DOMAINNAME:-$HOSTNAME}}" SERVER_ADMIN="${SERVER_ADMIN:-root@${EMAIL_DOMAIN:-$DOMAINNAME}}" EMAIL_RELAY="${EMAIL_RELAY:-}" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # get ip addresses CONTAINER_IP4_ADDRESS="${CONTAINER_IP4_ADDRESS:-$(__get_ip4)}" CONTAINER_IP6_ADDRESS="${CONTAINER_IP6_ADDRESS:-$(__get_ip6)}" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # cerbot CERT_BOT_MAIL="${CERT_BOT_MAIL:-}" CERTBOT_DOMAINS="${CERTBOT_DOMAINS:-}" CERT_BOT_ENABLED="${CERT_BOT_ENABLED:-false}" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # ssl server settings SSL_ENABLED="${SSL_ENABLED:-false}" SSL_DIR="${SSL_DIR:-/config/ssl}" SSL_CA="${SSL_CA:-$SSL_DIR/ca.crt}" SSL_KEY="${SSL_KEY:-$SSL_DIR/server.key}" SSL_CERT="${SSL_CERT:-$SSL_DIR/server.crt}" SSL_CONTAINER_DIR="${SSL_CONTAINER_DIR:-/etc/ssl/CA}" COUNTRY="${COUNTRY:-US}" STATE="${STATE:-NY}" CITY="${CITY:-Albany}" UNIT="${UNIT:-CasjaysDev}" ORG="${ORG:-"Casjays Developments"}" DAYS_VALID="${DAYS_VALID:-3650}" RSA="${RSA:-4096}" CN="${CN:-$FULL_DOMAIN_NAME}" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # web server configs HTTPD_CONFIG_FILE="${HTTPD_CONFIG_FILE:-$(__find_httpd_conf)}" NGINX_CONFIG_FILE="${NGINX_CONFIG_FILE:-$(__find_nginx_conf)}" LIGHTTPD_CONFIG_FILE="${LIGHTTPD_CONFIG_FILE:-$(__find_lighttpd_conf)}" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # redis env DATABASE_DIR_REDIS="${DATABASE_DIR_REDIS:-$DATABASE_BASE_DIR/redis}" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # postgresql env DATABASE_DIR_PGSQL="${DATABASE_DIR_PGSQL:-$PGDATA}" PGDATA="${DATABASE_DIR_PGSQL:-$DATABASE_BASE_DIR/pgsql}" POSTGRES_USER="${DATABASE_USER_ROOT:-$POSTGRES_USER}" POSTGRES_PASSWORD="${DATABASE_PASS_ROOT:-$POSTGRES_PASSWORD}" POSTGRES_CONFIG_FILE="${POSTGRES_CONFIG_FILE:-$(__find_pgsql_conf)}" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # mariadb env MARIADB_ROOT_HOST="${MARIADB_ROOT_HOST:-%}" MARIADB_AUTO_UPGRADE="${MARIADB_AUTO_UPGRADE:-yes}" MARIADB_DATABASE="${DATABASE_CREATE:-$MARIADB_DATABASE}" MARIADB_USER="${DATABASE_USER_NORMAL:-$MARIADB_USER}" MARIADB_PASSWORD="${DATABASE_PASS_NORMAL:-$MARIADB_PASSWORD}" DATABASE_DIR_MARIADB="${DATABASE_DIR_MARIADB:-$DATABASE_BASE_DIR/mysql}" MARIADB_ROOT_PASSWORD="${DATABASE_PASS_ROOT:-$MARIADB_ROOT_PASSWORD}" MARIADB_ALLOW_EMPTY_ROOT_PASSWORD="${MARIADB_ALLOW_EMPTY_ROOT_PASSWORD:-}" MARIADB_INITDB_SKIP_TZINFO="${MARIADB_INITDB_SKIP_TZINFO}:-" MARIADB_RANDOM_ROOT_PASSWORD="${MARIADB_RANDOM_ROOT_PASSWORD:-}" MARIADB_CONFIG_FILE="${MARIADB_CONFIG_FILE:-$(__find_mysql_conf)}" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # mongodb env NITDB_ROOT_USERNAME="${DATABASE_USER_ROOT:-$NITDB_ROOT_USERNAME}" DATABASE_DIR_MONGODB="${DATABASE_DIR_MONGODB:-$DATABASE_BASE_DIR/mongodb}" MONGO_INITDB_ROOT_PASSWORD="${DATABASE_PASS_ROOT:-$MONGO_INITDB_ROOT_PASSWORD}" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # couchdb env NODENAME="${NODENAME:-}" COUCHDB_USER="${DATABASE_USER_ROOT:-$COUCHDB_USER}" COUCHDB_PASSWORD="${DATABASE_PASS_ROOT:-$COUCHDB_PASSWORD}" DATABASE_DIR_COUCHDB="${DATABASE_DIR_COUCHDB:-$DATABASE_BASE_DIR/couchdb}" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Supabase DATABASE_DIR_SUPABASE="${DATABASE_DIR_SUPABASE:-$DATABASE_BASE_DIR/supabase}" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # docker env DOCKER_HOST="unix://var/run/docker.sock" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # File locations ENTRYPOINT_PID_FILE="${ENTRYPOINT_PID_FILE:-/run/init.d/entrypoint.pid}" ENTRYPOINT_INIT_FILE="${ENTRYPOINT_INIT_FILE:-/config/.entrypoint.done}" ENTRYPOINT_DATA_INIT_FILE="${ENTRYPOINT_DATA_INIT_FILE:-/data/.docker_has_run}" ENTRYPOINT_CONFIG_INIT_FILE="${ENTRYPOINT_CONFIG_INIT_FILE:-/config/.docker_has_run}" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Startup variables INIT_DATE="${INIT_DATE:-$(date)}" START_SERVICES="${START_SERVICES:-yes}" ENTRYPOINT_MESSAGE="${ENTRYPOINT_MESSAGE:-yes}" ENTRYPOINT_FIRST_RUN="${ENTRYPOINT_FIRST_RUN:-yes}" DATA_DIR_INITIALIZED="${DATA_DIR_INITIALIZED:-false}" CONFIG_DIR_INITIALIZED="${CONFIG_DIR_INITIALIZED:-false}" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if [ -f "$ENTRYPOINT_PID_FILE" ] || [ -f "$ENTRYPOINT_INIT_FILE" ]; then START_SERVICES="no" ENTRYPOINT_MESSAGE="no" ENTRYPOINT_FIRST_RUN="no" fi # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -