diff --git a/Makefile b/Makefile index ccc0a056c..d3ea9e9c4 100644 --- a/Makefile +++ b/Makefile @@ -40,12 +40,9 @@ run_server_docker: cd ${DEPLOY_PATH} &&\ ${DOCKER_COMPOSE_CMD} up -d restore_database: - @if [ ! -f ${DEPLOY_PATH}/backup/backup.zip ]; then \ - echo "Backup file does not exist. Skipping restoration."; \ - else \ - echo "Restoring database from backup..."; \ - sudo docker exec ${CONTAINER_ID} odoo db --config=/etc/odoo/${CONFIG} load new_db ${DEPLOY_PATH}/backup/backup.zip; \ - fi + echo "Restoring database from backup..."; \ + sudo docker exec ${CONTAINER_ID} odoo db --config=/etc/odoo/${CONFIG} load new_db /etc/odoo/backup/backup.zip; \ + stop_server_docker: @if ! docker ps | grep -q "${CONTAINER_ID}"; then \ echo "Container not found. Skipping"; \ diff --git a/deployment/docker-compose.yml b/deployment/docker-compose.yml index 3129771ce..207ec93f2 100644 --- a/deployment/docker-compose.yml +++ b/deployment/docker-compose.yml @@ -19,6 +19,7 @@ services: - ${ENTRYPOINT:-./entrypoint.sh}:/entrypoint.sh # use for install additional package (Optional) - ${ODOO_ADDONS:-./addons}:/mnt/extra-addons - ${ODOO_CONFIG:-./etc}:/etc/odoo + - ${ODOO_BACKUP:-./backup/ce}:/etc/odoo/backup restart: always db: image: postgres:16 diff --git a/deployment/env.template b/deployment/env.template index 79172edad..61b59b595 100644 --- a/deployment/env.template +++ b/deployment/env.template @@ -7,6 +7,7 @@ ODOO_CONTAINER= # ODOO_CHAT_PORT= ODOO_ADDONS=./addons ODOO_CONFIG=./etc +ODOO_BACKUP=./backup/ce #Database PG_PORT= PG_DB= diff --git a/setup/clean_up.sh b/setup/clean_up.sh deleted file mode 100755 index fec7e1fe7..000000000 --- a/setup/clean_up.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/bash - -export PATH=/usr/sbin:$PATH -export DEBIAN_FRONTEND=noninteractive - -set -euo pipefail -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" -} - - -stop_test_db() { - cd "$(pwd)/testing_env" - Show 2 "Stopping containers..." - docker-compose down - rm -f "$(find . -type f \( -name "*.yml" -o -name "*.template" \) -not -name "docker-compose.yml" -not -name "env.template" )" - Show 0 "Test Server is offline" -} - -stop_test_db \ No newline at end of file diff --git a/setup/gen-config.py b/setup/gen-config.py index 6e5fd00b5..810f63602 100755 --- a/setup/gen-config.py +++ b/setup/gen-config.py @@ -44,6 +44,7 @@ def main(): parser.add_argument('--addons', type=str, help='') parser.add_argument('--config', type=str, help='') parser.add_argument('--container', type=str, help='') + parser.add_argument('--backup', type=str, help='') args = parser.parse_args() db_port = args.db_port db_pass = "smartyourlife" @@ -56,6 +57,7 @@ def main(): addons=args.addons config_path=args.config app_port = 10017 + backup = args.backup # Copy template files os.makedirs(f"{base_dir}/etc", exist_ok=True) color_log.Show(3,f"Copy {base_dir}/odoo.conf.template to {base_dir}/etc/odoo.conf") @@ -88,5 +90,9 @@ def main(): set_key(dotenv_path=env_file_path, key_to_set="ODOO_IMAGE", value_to_set=image,quote_mode="never") set_key(dotenv_path=env_file_path, key_to_set="ODOO_TAG", value_to_set=tag,quote_mode="never") set_key(dotenv_path=env_file_path, key_to_set="ODOO_CONTAINER", value_to_set=container,quote_mode="never") + if (backup == 'community'): + set_key(dotenv_path=env_file_path, key_to_set="ODOO_BACKUP", value_to_set=f'{base_dir}/backup/ce',quote_mode="never") + if (backup == 'enterprise'): + set_key(dotenv_path=env_file_path, key_to_set="ODOO_BACKUP", value_to_set=f'{base_dir}/backup/enterprise',quote_mode="never") if __name__ == "__main__": main() diff --git a/setup/init_config.sh b/setup/init_config.sh index 7a45c2b3c..d2d029d33 100755 --- a/setup/init_config.sh +++ b/setup/init_config.sh @@ -92,7 +92,8 @@ Generate_Config(){ cp "${DEPLOY_PATH}/env.template" "${DEPLOY_PATH}/.env" fi python "$SETUP_PATH/gen-config.py" --db_port 5432 --db_user $PG_USER --deploy_path "$DEPLOY_PATH" \ - --db ${PG_DB:=odoo} --image "${ODOO_IMAGE}" --container "${ODOO_CONTAINER}" --tag "${ODOO_TAG:=latest}" --addons "${ODOO_ADDONS}" --config "${ODOO_CONFIG}" + --db ${PG_DB:=odoo} --image "${ODOO_IMAGE}" --container "${ODOO_CONTAINER}" --tag "${ODOO_TAG:=latest}" \ + --addons "${ODOO_ADDONS}" --config "${ODOO_CONFIG}" --backup community Show 0 " Generate Config Complete" }