From 4184049b9db63ea58d42fbc5af9fa7d5848cf50a Mon Sep 17 00:00:00 2001 From: Janik von Rotz Date: Thu, 30 Apr 2020 19:27:21 +0200 Subject: [PATCH] add script + ref --- README.md | 34 ++-------------------- addons/theme_mint_system | 2 +- docker-odoo-install | 63 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 67 insertions(+), 32 deletions(-) create mode 100755 docker-odoo-install diff --git a/README.md b/README.md index 55c7205a..96d6dbe7 100644 --- a/README.md +++ b/README.md @@ -21,34 +21,11 @@ docker-compose up -d Initialize database and install modules. ```bash -MODULES=base,web,website -DATABASE=odoo -CONTAINER=odoo -docker exec -it $CONTAINER bin/bash -c "odoo -i $MODULES -c /etc/odoo/odoo.conf -d $DATABASE --db_host \$HOST -r \$USER -w \$PASSWORD --dev=all --stop-after-init" && docker restart $CONTAINER +./docker-install-odoo ``` Open browser to [http://localhost:8069](http://localhost:8069) and login with `admin:admin`. -### Configure mail - -Create a `.env` file in the project root. - -```bash -SMTP_PASSWORD=... -SMTP_PORT=... -SMTP_SERVER=... -SMTP_USER=... -``` - -Install Odoo with the smtp params. - -```bash -MODULES=base,project,hr_timesheet -DATABASE=odoo -CONTAINER=odoo -docker exec -it $CONTAINER bin/bash -c "odoo -i $MODULES -c /etc/odoo/odoo.conf -d $DATABASE --db_host \$HOST -r \$USER -w \$PASSWORD --dev=all --stop-after-init --smtp=\$SMTP_SERVER --smtp-port=\$SMTP_PORT --smtp-ssl --smtp-user=\$SMTP_USER --smtp-password=\$SMTP_PASSWORD" && docker restart $CONTAINER -``` - ### Enable developer mode Navigate to the [settings page]( @@ -92,10 +69,7 @@ docker-compose down -v ### Install custom module ```bash -MODULE=show_db_name -DATABASE=odoo -CONTAINER=odoo -docker exec -it $CONTAINER bin/bash -c "odoo -i $MODULE -c /etc/odoo/odoo.conf -d $DATABASE --db_host \$HOST -r \$USER -w \$PASSWORD --stop-after-init" && docker restart $CONTAINER +./docker-odoo-install -m show_db_name ``` ### Create new db @@ -107,10 +81,9 @@ createdb -h $HOST -U $USER Test psql -h $HOST -U $USER -l # Enter password odoo -i base -c /etc/odoo/odoo.conf -d Test --db_host $HOST -r $USER -w $PASSWORD --stop-after-init - ``` -[http://localhost:8069/?db=Test](http://localhost:8069/?db=Test) +Open [http://localhost:8069/?db=Test](http://localhost:8069/?db=Test) in your browser. ### Delete db @@ -127,5 +100,4 @@ dropdb -h $HOST -U $USER Test ```bash docker exec -it odoo bin/bash -c "odoo -s -d Test --db_host \$HOST -r \$USER -w \$PASSWORD" -# odoo -s -d Test --db_host $HOST -r $USER -w $PASSWORD ``` \ No newline at end of file diff --git a/addons/theme_mint_system b/addons/theme_mint_system index 7e00f204..ca55f7fc 160000 --- a/addons/theme_mint_system +++ b/addons/theme_mint_system @@ -1 +1 @@ -Subproject commit 7e00f204545ee6938bb4264e8ea1b4c466ec8d36 +Subproject commit ca55f7fc7ce4e49ab086451c1f88eaa80d5de920 diff --git a/docker-odoo-install b/docker-odoo-install new file mode 100755 index 00000000..a36e958c --- /dev/null +++ b/docker-odoo-install @@ -0,0 +1,63 @@ +#!/bin/bash + +# Exit script if command fails +set -e + +# Display Help +Help() { + echo + echo "docker-odoo-install" + echo "###########" + echo + echo "Description: Install Odoo database in Docker container." + echo "Syntax: docker-odoo-install [-p|-d|-o|-h|help]" + echo "Example: docker-odoo-install -d erp -m hr_timesheet -c odoo01" + echo "options:" + echo " -d Database name. Defaults to 'odoo'" + echo " -m List of odoo modules. Defaults to 'base,web,website'" + echo " -c Docker container. Defaults to 'odoo'" + echo " -x Dev option. Defaults to 'all'" + echo " help Show docker-odoo-install manual." + echo +} + +# Show help and exit +if [[ $1 == 'help' ]]; then + Help + exit +fi + +# Process params +while getopts ":d:m:c:x:help:" opt; do + case $opt in + m) MODULES="$OPTARG" + ;; + c) CONTAINER="$OPTARG" + ;; + d) DATABASE="$OPTARG" + ;; + x) DEV="$OPTARG" + ;; + \?) echo "Invalid option -$OPTARG" >&2 + Help + exit;; + esac +done + +# Fallback to environment vars and default values +: ${DATABASE:='odoo'} +: ${MODULES:='base,web,website'} +: ${CONTAINER:='odoo'} +: ${DEV:='all'} + +# Verify variables +[[ -z "$DATABASE" ]] && { echo "Parameter -d|database is empty" ; exit 1; } +[[ -z "$MODULES" ]] && { echo "Parameter -m|modules is empty" ; exit 1; } +[[ -z "$CONTAINER" ]] && { echo "Parameter -c|container is empty" ; exit 1; } +[[ -z "$CONTAINER" ]] && { echo "Parameter -x|dev is empty" ; exit 1; } + +# Install with Docker exec +docker exec -it $CONTAINER bin/bash -c "odoo -i $MODULES -c /etc/odoo/odoo.conf -d $DATABASE --db_host \$HOST -r \$USER -w \$PASSWORD --dev=$DEV --stop-after-init" && docker restart $CONTAINER + +# Notify if installation has finished +echo "The Odoo installation for $CONTAINER has finished."