#!/usr/bin/bash export PATH=/usr/sbin:$PATH export DEBIAN_FRONTEND=noninteractive set -euo pipefail ODOO_IMAGE='hub.nextzenos.com/nexterp/odoo' DEPLOY_PATH=$(pwd)/deployment PG_DB=nexterp PG_USER=nexterp CURRENT_BRANCH=main ODOO_ADDONS=./addons ODOO_CONFIG=./etc # System DEPENDS_PACKAGE=('wget' 'curl' 'git' 'unzip' 'make' 'build-essential' 'wkhtmltopdf') DEPENDS_COMMAND=('wget' 'curl' 'git' 'unzip' 'make' 'wkhtmltopdf') ((EUID)) && sudo_cmd="sudo" || sudo_cmd="" readonly MINIMUM_DOCER_VERSION="20" UNAME_U="$(uname -s)" readonly UNAME_U readonly COLOUR_RESET='\e[0m' readonly aCOLOUR=( '\e[38;5;154m' # green | Lines, bullets and separators '\e[1m' # Bold white | Main descriptions '\e[90m' # Grey | Credits '\e[91m' # Red | Update notifications Alert '\e[33m' # Yellow | Emphasis ) trap 'onCtrlC' INT onCtrlC() { echo -e "${COLOUR_RESET}" exit 1 } Show() { # OK if (($1 == 0)); then echo -e "${aCOLOUR[2]}[$COLOUR_RESET${aCOLOUR[0]} OK $COLOUR_RESET${aCOLOUR[2]}]$COLOUR_RESET $2" # FAILED elif (($1 == 1)); then echo -e "${aCOLOUR[2]}[$COLOUR_RESET${aCOLOUR[3]}FAILED$COLOUR_RESET${aCOLOUR[2]}]$COLOUR_RESET $2" exit 1 # INFO elif (($1 == 2)); then echo -e "${aCOLOUR[2]}[$COLOUR_RESET${aCOLOUR[0]} INFO $COLOUR_RESET${aCOLOUR[2]}]$COLOUR_RESET $2" # NOTICE elif (($1 == 3)); then echo -e "${aCOLOUR[2]}[$COLOUR_RESET${aCOLOUR[4]}NOTICE$COLOUR_RESET${aCOLOUR[2]}]$COLOUR_RESET $2" fi } Warn() { echo -e "${aCOLOUR[3]}$1$COLOUR_RESET" } GreyStart() { echo -e "${aCOLOUR[2]}\c" } ColorReset() { echo -e "$COLOUR_RESET\c" } Update_Package_Resource() { GreyStart if [ -x "$(command -v apk)" ]; then ${sudo_cmd} apk update elif [ -x "$(command -v apt)" ]; then ${sudo_cmd} apt update elif [ -x "$(command -v dnf)" ]; then ${sudo_cmd} dnf check-update elif [ -x "$(command -v zypper)" ]; then ${sudo_cmd} zypper update elif [ -x "$(command -v yum)" ]; then ${sudo_cmd} yum update fi ColorReset } # 3 Check OS Check_OS() { if [[ $UNAME_U == *Linux* ]]; then Show 0 "Your System is : $UNAME_U" else Show 1 "This script is only for Linux." exit 1 fi } Generate_Env(){ if [[ "$CURRENT_BRANCH" == "main" ]]; then ODOO_TAG="latest" else ODOO_TAG="$CURRENT_BRANCH" fi if [[ ! -f "${DEPLOY_PATH}/.env" ]]; then cp "${DEPLOY_PATH}/env.template" "${DEPLOY_PATH}/.env" fi sed -i \ -e "s|^PG_DB=.*|PG_DB=${PG_DB:=odoo}|" \ -e "s|^PG_USER=.*|PG_USER=${PG_USER:=changeme}|" \ -e "s|^PG_PASS=.*|PG_PASS=$(tr -dc A-Za-z0-9