[ADD] first version
This commit is contained in:
91
cloud-init/zdc-odoo-init.yaml
Executable file
91
cloud-init/zdc-odoo-init.yaml
Executable file
@@ -0,0 +1,91 @@
|
|||||||
|
#cloud-config
|
||||||
|
# Run 'apt-get update' on first boot
|
||||||
|
apt_update: true
|
||||||
|
|
||||||
|
# Run 'apt-get upgrade' on first boot
|
||||||
|
apt_upgrade: true
|
||||||
|
|
||||||
|
packages:
|
||||||
|
- curl
|
||||||
|
- git
|
||||||
|
- python3-pip
|
||||||
|
- build-essential
|
||||||
|
- wget
|
||||||
|
- python3-dev
|
||||||
|
- python3-venv
|
||||||
|
- python3-wheel
|
||||||
|
- libxslt-dev
|
||||||
|
- libzip-dev
|
||||||
|
- libldap2-dev
|
||||||
|
- libsasl2-dev
|
||||||
|
- python3-setuptools
|
||||||
|
- node-less
|
||||||
|
- postgresql
|
||||||
|
|
||||||
|
write_files:
|
||||||
|
- content: |
|
||||||
|
[options]
|
||||||
|
db_host = False
|
||||||
|
db_port = False
|
||||||
|
db_user = ubuntu
|
||||||
|
db_password = False
|
||||||
|
addons_path = /opt/odoo/odoo12/addons,/opt/odoo/custom-addons/zdc-oca-addons
|
||||||
|
path: /etc/odoo12.conf
|
||||||
|
- content: |
|
||||||
|
[Unit]
|
||||||
|
Description=Odoo
|
||||||
|
Requires=postgresql.service
|
||||||
|
After=network.target postgresql.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
SyslogIdentifier=odoo
|
||||||
|
PermissionsStartOnly=true
|
||||||
|
User=ubuntu
|
||||||
|
Group=ubuntu
|
||||||
|
ExecStart=/opt/odoo/venv-odoo12/bin/python3 /opt/odoo/odoo12/odoo-bin -c /etc/odoo12.conf
|
||||||
|
StandardOutput=journal+console
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
path: /etc/systemd/system/odoo12.service
|
||||||
|
|
||||||
|
# boot commands
|
||||||
|
# These are like 'runcmd', but run very early in the boot process & run on every boot by default.
|
||||||
|
bootcmd:
|
||||||
|
- echo $(whoami) > /root/boot.txt
|
||||||
|
|
||||||
|
runcmd:
|
||||||
|
#- [ wget, "http://slashdot.org", -O, /run/mydir/index.html ]
|
||||||
|
# install wkhtmltopdf
|
||||||
|
#- wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb -O /run/wkhtmltox_0.12.6-1.bionic_amd64.deb
|
||||||
|
#- apt install /run/wkhtmltox_0.12.6-1.bionic_amd64.deb -y
|
||||||
|
- systemctl enable --now postgresql.service
|
||||||
|
- su - postgres -c "createuser -s ubuntu"
|
||||||
|
# setup odoo installation
|
||||||
|
- mkdir /opt/odoo
|
||||||
|
- chown ubuntu:ubuntu /opt/odoo/
|
||||||
|
- sudo -u ubuntu mkdir /opt/odoo/custom-addons
|
||||||
|
- sudo -u ubuntu wget https://github.com/OCA/OCB/raw/12.0/requirements.txt -O /opt/odoo/requirements.txt
|
||||||
|
#- sudo -u ubuntu /usr/bin/git clone https://www.github.com/OCA/OCB --depth 1 --branch 12.0 /opt/odoo/odoo12
|
||||||
|
# setup python3 virtualenv
|
||||||
|
- sudo -u ubuntu /usr/bin/python3 -m venv /opt/odoo/venv-odoo12
|
||||||
|
- sudo -u ubuntu cat /opt/odoo/venv-odoo12/bin/activate > /opt/odoo/venv-install.sh
|
||||||
|
- sudo -u ubuntu echo "pip3 install wheel" >> /opt/odoo/venv-install.sh
|
||||||
|
- sudo -u ubuntu echo "pip3 install -r /opt/odoo/requirements.txt" >> /opt/odoo/venv-install.sh
|
||||||
|
#- sudo -u ubuntu /bin/bash /opt/odoo/venv-install.sh
|
||||||
|
|
||||||
|
- systemctl daemon-reload
|
||||||
|
- systemctl enable odoo12
|
||||||
|
|
||||||
|
# set the locale
|
||||||
|
locale: en_US.UTF-8
|
||||||
|
|
||||||
|
# timezone: set the timezone for this instance
|
||||||
|
timezone: UTC
|
||||||
|
|
||||||
|
# Log all cloud-init process output (info & errors) to a logfile
|
||||||
|
output: {all: ">> /var/log/cloud-init-output.log"}
|
||||||
|
|
||||||
|
# final_message written to log when cloud-init processes are finished
|
||||||
|
final_message: "System boot (via cloud-init) is COMPLETE, after $UPTIME seconds. Finished at $TIMESTAMP"
|
24982
db/zdc-template-db.sql
Normal file
24982
db/zdc-template-db.sql
Normal file
File diff suppressed because one or more lines are too long
31
zdc-odoo-vm.sh
Executable file
31
zdc-odoo-vm.sh
Executable file
@@ -0,0 +1,31 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
NAME=$1
|
||||||
|
|
||||||
|
echo "### Create Ubuntu 18.04 LTS VM"
|
||||||
|
multipass launch bionic --name $NAME --cpus 2 --mem 1280M --disk 12G --cloud-init ./cloud-init/zdc-odoo-init.yaml
|
||||||
|
|
||||||
|
echo "### Install wkhtmltopdf"
|
||||||
|
multipass exec $NAME -- sudo wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb -O /tmp/wkhtmltox_0.12.6-1.bionic_amd64.deb
|
||||||
|
multipass exec $NAME -- sudo apt install /tmp/wkhtmltox_0.12.6-1.bionic_amd64.deb -y
|
||||||
|
|
||||||
|
echo "### Install Python Environment"
|
||||||
|
multipass exec $NAME -- sudo -u ubuntu /bin/bash /opt/odoo/venv-install.sh
|
||||||
|
|
||||||
|
echo "### Install OCB Odoo 12"
|
||||||
|
#multipass exec $NAME -- sudo -u ubuntu /usr/bin/git clone https://www.github.com/OCA/OCB --depth 1 --branch 12.0 /opt/odoo/odoo12
|
||||||
|
multipass exec $NAME -- sudo -u ubuntu /usr/bin/git clone https://gitea.egroup.sk/development/zdc-odoo --depth 1 --branch master /opt/odoo/odoo12
|
||||||
|
multipass exec $NAME -- sudo -u ubuntu /usr/bin/git clone https://gitea.egroup.sk/development/zdc-oca-addons --depth 1 --branch master /opt/odoo/custom-addons/zdc-oca-addons
|
||||||
|
multipass exec $NAME -- sudo systemctl restart odoo12
|
||||||
|
|
||||||
|
echo "### Create ZDC Template DB"
|
||||||
|
multipass exec $NAME -- sudo -u postgres wget https://gitea.egroup.sk/development/zdc-toools/db/raw/master/zdc-template-db.sql -O zdc-template-db.sql
|
||||||
|
multipass exec $NAME -- sudo -u postgres psql -c "CREATE DATABASE zdcbasedb1 WITH OWNER=ubuntu;"
|
||||||
|
multipass exec $NAME -- sudo -u postgres psql -d zdcbasedb1 -f zdc-template-db.sql
|
||||||
|
|
||||||
|
|
||||||
|
echo "### Check VM"
|
||||||
|
multipass list | grep $NAME
|
||||||
|
URL_IP=`multipass info $NAME | grep IPv4 | sed -e 's/ //g' -e '/^$/d' | sed -e 's/IPv4://g' -e '/^$/d'`
|
||||||
|
|
||||||
|
echo "### Odoo database manager on $NAME server: http://$URL_IP:8069/web/database/selector"
|
Reference in New Issue
Block a user