mirror of
https://github.com/casjaysdevdocker/python
synced 2024-11-25 17:23:08 -05:00
135 lines
6.7 KiB
Bash
135 lines
6.7 KiB
Bash
#!/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
|
|
[ -f "/usr/local/etc/docker/functions/entrypoint.sh" ] && . "/usr/local/etc/docker/functions/entrypoint.sh"
|
|
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
# 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/httpd/default}"
|
|
#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:-$ENV_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:-$ENV_WEB_SERVER_PORTS}"
|
|
#SERVICES_LIST="${PROCS_LIST:-$SERVICES_LIST} "
|
|
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
# networing info
|
|
DOMAINNAME="${DOMAINNAME:-}"
|
|
HOSTNAME="${HOSTNAME:-casjaysdev-GEN_SCRIPT_REPLACE_APPNAME}"
|
|
FULL_DOMAIN_NAME="${FULL_DOMAIN_NAME:-${DOMAINNAME:-$HOSTNAME}}"
|
|
SERVER_ADMIN="${SERVER_ADMIN:-root@${EMAIL_DOMAIN:-${DOMAINNAME:-$FULL_DOMAIN_NAME}}}"
|
|
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
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/postgres}"
|
|
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
|
|
INITDB_ROOT_USERNAME="${DATABASE_USER_ROOT:-$INITDB_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
|
|
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|