Compare commits
11 Commits
d87769c343
...
master
Author | SHA1 | Date | |
---|---|---|---|
c03a6ab86a | |||
|
2184f9ad8c | ||
|
600cfcfa04 | ||
|
7240a81874 | ||
|
d79d22ce49 | ||
|
f7dbfe996c | ||
|
a576ec52c5 | ||
|
2f9a2b3169 | ||
|
68cce3aa88 | ||
|
3e71de1cfb | ||
|
6698f38707 |
67
README.md
67
README.md
@@ -1,45 +1,94 @@
|
|||||||
# zdc-tools
|
# zdc-tools
|
||||||
|
|
||||||
Obsahuje skript pre vytvorenie lokálnej VM prostredníctvom [multipass.run](https://multipass.run) aplikácie.
|
Obsahuje skripty pre vytvorenie a konfiguráciu lokálnej VM prostredníctvom [multipass.run](https://multipass.run) aplikácie.
|
||||||
|
|
||||||
|
|
||||||
## Predpoklady
|
## Predpoklady
|
||||||
|
|
||||||
- Nainštalovaná aplikácia [multipass.run](https://multipass.run)
|
- Nainštalovaná aplikácia [multipass.run](https://multipass.run)
|
||||||
- Nainštalovaný git
|
- Nainštalovaný git
|
||||||
|
- Vygenerovaný ssh kľúč (id_rsa)
|
||||||
|
|
||||||
## Inicializácia
|
## Inicializácia
|
||||||
Stiahnutie skriptov a konfiguračných súborov do cieľového adresára `<WORKING_DIR>`.
|
Stiahnutie skriptov a konfiguračných súborov do cieľového adresára `<WORKING_DIR>`.
|
||||||
|
|
||||||
```
|
```bash
|
||||||
git clone https://gitea.egroup.sk/development/zdc-tools --depth 1 --branch master <WORKING_DIR>/zdc-tools
|
git clone https://gitea.egroup.sk/development/zdc-tools --depth 1 --branch master <WORKING_DIR>/zdc-tools
|
||||||
```
|
```
|
||||||
|
|
||||||
### Nastavenie oprávnení
|
### Nastavenie oprávnení
|
||||||
|
|
||||||
```
|
```bash
|
||||||
cd <WORKING_DIR>/zdc-tools
|
cd <WORKING_DIR>/zdc-tools
|
||||||
chmod +x zdc-odoo-vm.sh
|
chmod +x *.sh
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Vytvorenie a konfigurácia VM
|
## Vytvorenie a konfigurácia VM
|
||||||
|
|
||||||
### Popis skriptu
|
### Popis skriptu
|
||||||
Pri prvom spustení sa stiahne používaný image (Ubuntu 18.04 LTS).
|
Pri prvom spustení `vm-create.sh` sa stiahne používaný image (Ubuntu 18.04 LTS).
|
||||||
Následne skript prostredníctvom aplikácie `multipass` inicializuje virtuálny server prostredníctvom `./cloud-init/zdc-odoo-init.yaml` súboru.
|
Následne skript prostredníctvom aplikácie `multipass` inicializuje virtuálny server prostredníctvom `./cloud-init/zdc-odoo-init.yaml` súboru.
|
||||||
|
|
||||||
Prostrednícvom skriptu sú príkazmi `multipass exec` konfigurované jednotlivé časti prostredia:
|
Prostredníctvom skriptu sú príkazmi `multipass exec` konfigurované jednotlivé časti prostredia:
|
||||||
- python venv
|
- python venv
|
||||||
- stiahne zdc-odoo repozitár
|
- stiahne zdc-odoo repozitár
|
||||||
- vytvorí databázu podľa šablóny
|
- vytvorí databázu podľa šablóny
|
||||||
|
|
||||||
### Parametre skriptu
|
### Parametre skriptu
|
||||||
- `<ZDC_VM_NAME>` - názov virtuálneho servera
|
- `<VM_NAME>` - názov virtuálneho servera
|
||||||
|
|
||||||
|
|
||||||
### Spustenie skriptu
|
### Spustenie skriptu
|
||||||
```
|
```bash
|
||||||
./zdc-odoo-vm.sh <ZDC_VM_NAME>
|
./vm-create.sh <VM_NAME>
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## Vytvorenie novej databázy
|
||||||
|
|
||||||
|
### Popis skriptu
|
||||||
|
Skript `vm-db-create.sh` umožňuje vytvoriť novú databázu zo šablóny.
|
||||||
|
|
||||||
|
### Parametre skriptu
|
||||||
|
- `<VM_NAME>` - názov existujúceho virtuálneho servera
|
||||||
|
- `<DB_NAME>` - názov novej databázy
|
||||||
|
|
||||||
|
### Spustenie skriptu
|
||||||
|
```bash
|
||||||
|
./vm-db-create.sh <VM_NAME> <DB_NAME>
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## Aktualizácia kódu platformy z gitea repozitára
|
||||||
|
|
||||||
|
### Popis skriptu
|
||||||
|
Skript `vm-zdc-update.sh` umožňuje aktualizovať existujúce inštalácie **zdc-core-addons** a **zdc-oca-addons** z gitea repozitára.
|
||||||
|
|
||||||
|
### Parametre skriptu
|
||||||
|
- `<VM_NAME>` - názov existujúceho virtuálneho servera
|
||||||
|
|
||||||
|
### Spustenie skriptu
|
||||||
|
```bash
|
||||||
|
./vm-zdc-update.sh <VM_NAME>
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## Aktualizácia development z gitea repozitára
|
||||||
|
|
||||||
|
### Popis skriptu
|
||||||
|
Pri novej inštalácii sa vývojový adresár inicializuje z **master** vetvy. Skript `vm-dev-update.sh` umožňuje aktualizovať vývojový adresár z **dev** vetvy gitea repozitára. Pri vývoji si každý vývojár vytvorí vlastnú vetvu, v ktorej priebežne zapisuje svoje zmeny a následne ju spojí do **dev** vetvy. Spojenie do **master** vetvy môže potvrdiť len administrátor.
|
||||||
|
|
||||||
|
### Parametre skriptu
|
||||||
|
- `<VM_NAME>` - názov existujúceho virtuálneho servera
|
||||||
|
|
||||||
|
### Interné premenné
|
||||||
|
Slúžia na vlastné prispôsobenie skriptu pre nastavenie aktuálne používaného repozitára pre vývoj.
|
||||||
|
- `<DEV_REPO>` - názov používaného repozitára pre vývoj
|
||||||
|
- `<DEV_BRANCH>` - názov používanej vetvy (branch)
|
||||||
|
|
||||||
|
### Spustenie skriptu
|
||||||
|
```bash
|
||||||
|
./vm-dev-update.sh <VM_NAME>
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@@ -4,14 +4,15 @@ apt_update: true
|
|||||||
|
|
||||||
# Run 'apt-get upgrade' on first boot
|
# Run 'apt-get upgrade' on first boot
|
||||||
# disabled for testing
|
# disabled for testing
|
||||||
apt_upgrade: false
|
apt_upgrade: true
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
- curl
|
- curl
|
||||||
- git
|
- git
|
||||||
|
- wget
|
||||||
|
- unzip
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- build-essential
|
- build-essential
|
||||||
- wget
|
|
||||||
- python3-dev
|
- python3-dev
|
||||||
- python3-venv
|
- python3-venv
|
||||||
- python3-wheel
|
- python3-wheel
|
||||||
@@ -23,61 +24,20 @@ packages:
|
|||||||
- node-less
|
- node-less
|
||||||
- postgresql
|
- 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
|
# boot commands
|
||||||
# These are like 'runcmd', but run very early in the boot process & run on every boot by default.
|
# These are like 'runcmd', but run very early in the boot process & run on every boot by default.
|
||||||
bootcmd:
|
bootcmd:
|
||||||
- echo $(whoami) > /root/boot.txt
|
- echo $(whoami) > /root/boot.txt
|
||||||
|
|
||||||
runcmd:
|
runcmd:
|
||||||
#- [ wget, "http://slashdot.org", -O, /run/mydir/index.html ]
|
# enable postgres
|
||||||
# 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
|
- systemctl enable --now postgresql.service
|
||||||
|
# create db user
|
||||||
- su - postgres -c "createuser -s ubuntu"
|
- su - postgres -c "createuser -s ubuntu"
|
||||||
# setup odoo installation
|
# setup directories
|
||||||
- mkdir /opt/odoo
|
- sudo -u ubuntu mkdir /home/ubuntu/config
|
||||||
- chown ubuntu:ubuntu /opt/odoo/
|
- sudo -u ubuntu mkdir /home/ubuntu/custom
|
||||||
- sudo -u ubuntu mkdir /opt/odoo/custom-addons
|
- sudo -u ubuntu mkdir /home/ubuntu/db
|
||||||
- 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
|
# set the locale
|
||||||
locale: en_US.UTF-8
|
locale: en_US.UTF-8
|
||||||
|
17
config/oca_requirements.txt
Normal file
17
config/oca_requirements.txt
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
python-ldap ## for ldap addons
|
||||||
|
cerberus ## for rest addons
|
||||||
|
pyquerystring ## for rest addons
|
||||||
|
parse-accept-language ## for rest addons
|
||||||
|
apispec ## for new rest addons
|
||||||
|
marshmallow ## for new rest addons
|
||||||
|
marshmallow_objects ## for new rest addons
|
||||||
|
jsondiff ## for new rest addons
|
||||||
|
cachetools ## for connector addons
|
||||||
|
altair ## for kpi dashboard addons
|
||||||
|
bokeh ## for kpi dashboard addons
|
||||||
|
zxcvbn ## for password security
|
||||||
|
xlsxwriter ## for xlsx export
|
||||||
|
xlrd ## for xlsx export
|
||||||
|
sqlalchemy ## for mysql connection
|
||||||
|
lasso ## for auth addon
|
||||||
|
pyotp ## for auth addons
|
6
config/odoo12.conf
Normal file
6
config/odoo12.conf
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
[options]
|
||||||
|
db_host = False
|
||||||
|
db_port = False
|
||||||
|
db_user = ubuntu
|
||||||
|
db_password = False
|
||||||
|
addons_path = /home/ubuntu/custom/zdc-core-addons,/home/ubuntu/custom/zdc-oca-addons,/home/ubuntu/custom/dev-addons
|
16
config/odoo12_service.conf
Normal file
16
config/odoo12_service.conf
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Odoo
|
||||||
|
Requires=postgresql.service
|
||||||
|
After=network.target postgresql.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
SyslogIdentifier=odoo
|
||||||
|
PermissionsStartOnly=true
|
||||||
|
User=ubuntu
|
||||||
|
Group=ubuntu
|
||||||
|
ExecStart=/home/ubuntu/venv-odoo12/bin/python3 /home/ubuntu/odoo12/odoo-bin -c /etc/odoo12.conf
|
||||||
|
StandardOutput=journal+console
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
48
config/odoo_requirements.txt
Normal file
48
config/odoo_requirements.txt
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
Babel==2.3.4
|
||||||
|
chardet==3.0.4
|
||||||
|
decorator==4.0.10
|
||||||
|
docutils==0.12
|
||||||
|
ebaysdk==2.1.5
|
||||||
|
feedparser==5.2.1
|
||||||
|
gevent==1.1.2 ; sys_platform != 'win32' and python_version < '3.7'
|
||||||
|
gevent==1.5.0 ; python_version >= '3.7'
|
||||||
|
greenlet==0.4.10 ; python_version < '3.7'
|
||||||
|
greenlet==0.4.14 ; python_version >= '3.7'
|
||||||
|
html2text==2016.9.19
|
||||||
|
Jinja2==2.10.1
|
||||||
|
libsass==0.12.3
|
||||||
|
lxml==3.7.1 ; sys_platform != 'win32' and python_version < '3.7'
|
||||||
|
lxml==4.2.3 ; sys_platform != 'win32' and python_version >= '3.7'
|
||||||
|
lxml ; sys_platform == 'win32'
|
||||||
|
Mako==1.0.4
|
||||||
|
MarkupSafe==0.23
|
||||||
|
mock==2.0.0
|
||||||
|
num2words==0.5.6
|
||||||
|
ofxparse==0.16
|
||||||
|
passlib==1.6.5
|
||||||
|
Pillow==4.0.0 ; python_version < '3.7'
|
||||||
|
Pillow==6.1.0 ; python_version >= '3.7'
|
||||||
|
psutil==4.3.1; sys_platform != 'win32'
|
||||||
|
psutil==5.6.3; sys_platform == 'win32'
|
||||||
|
psycopg2==2.7.3.1; sys_platform != 'win32'
|
||||||
|
psycopg2==2.8.3; sys_platform == 'win32'
|
||||||
|
pydot==1.2.3
|
||||||
|
pyldap==2.4.28; sys_platform != 'win32'
|
||||||
|
pyparsing==2.1.10
|
||||||
|
PyPDF2==1.26.0
|
||||||
|
pyserial==3.1.1
|
||||||
|
python-dateutil==2.5.3
|
||||||
|
pytz==2016.7
|
||||||
|
pyusb==1.0.0
|
||||||
|
qrcode==5.3
|
||||||
|
reportlab==3.3.0
|
||||||
|
requests==2.20.0
|
||||||
|
suds-jurko==0.6
|
||||||
|
vatnumber==1.2
|
||||||
|
vobject==0.9.3
|
||||||
|
Werkzeug==0.11.15 ; sys_platform != 'win32'
|
||||||
|
Werkzeug==0.16.0 ; sys_platform == 'win32'
|
||||||
|
XlsxWriter==0.9.3
|
||||||
|
xlwt==1.3.*
|
||||||
|
xlrd==1.0.0
|
||||||
|
pypiwin32 ; sys_platform == 'win32'
|
3
config/ssh_known_hosts
Normal file
3
config/ssh_known_hosts
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
gitea.egroup.sk ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5onDUxe6HEgosfzqhLL0zeX83fG+lOPEISYOj5Ef6A39EV2DtX2SVDdb47QWuZqH3/IyTmLzJxfaTyqaKyTDoIEkd6gGVA0L19HczvOuyhtVP0GM+yWH8kHoppi7WnHPD02FD+jw0l+RiD/nmvmye/1kvhwDJTHud09xVBQ/vybe+JkiNIfYNvp3OM5Iq5CsFM/OlzzzwmbfUGbKo4i/AZkTJ7Qm7i3rNe6qZYFZKJbq1ywF0kHnthiYIXPfKB6vVofBAxyl/efCgUYOxfztGXHS1J57SkZg4/DR5EXPHlo6OEITikIcpYVpPeFNHSvAzEZ6X6hm7nBOBllAzCWDT
|
||||||
|
gitea.egroup.sk ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMSYwNF2Su0BUOO9yu0ww1ge9XWFJ4f4n5HMwnaHaxUevLi2KpQ1P6lD+6g40TpWFNgjD0iUR7YMnXjZYIhMbgM=
|
||||||
|
gitea.egroup.sk ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFwyHB2WI5+eHlyGkfjTsN5LM3PF2q6oeJlAdGv8CgNe
|
80
config/venv-install.sh
Normal file
80
config/venv-install.sh
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
# This file must be used with "source bin/activate" *from bash*
|
||||||
|
# you cannot run it directly
|
||||||
|
|
||||||
|
deactivate () {
|
||||||
|
# reset old environment variables
|
||||||
|
if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
|
||||||
|
PATH="${_OLD_VIRTUAL_PATH:-}"
|
||||||
|
export PATH
|
||||||
|
unset _OLD_VIRTUAL_PATH
|
||||||
|
fi
|
||||||
|
if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
|
||||||
|
PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
|
||||||
|
export PYTHONHOME
|
||||||
|
unset _OLD_VIRTUAL_PYTHONHOME
|
||||||
|
fi
|
||||||
|
|
||||||
|
# This should detect bash and zsh, which have a hash command that must
|
||||||
|
# be called to get it to forget past commands. Without forgetting
|
||||||
|
# past commands the $PATH changes we made may not be respected
|
||||||
|
if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
|
||||||
|
hash -r
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
|
||||||
|
PS1="${_OLD_VIRTUAL_PS1:-}"
|
||||||
|
export PS1
|
||||||
|
unset _OLD_VIRTUAL_PS1
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset VIRTUAL_ENV
|
||||||
|
if [ ! "$1" = "nondestructive" ] ; then
|
||||||
|
# Self destruct!
|
||||||
|
unset -f deactivate
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# unset irrelevant variables
|
||||||
|
deactivate nondestructive
|
||||||
|
|
||||||
|
VIRTUAL_ENV="/home/ubuntu/venv-odoo12"
|
||||||
|
export VIRTUAL_ENV
|
||||||
|
|
||||||
|
_OLD_VIRTUAL_PATH="$PATH"
|
||||||
|
PATH="$VIRTUAL_ENV/bin:$PATH"
|
||||||
|
export PATH
|
||||||
|
|
||||||
|
# unset PYTHONHOME if set
|
||||||
|
# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
|
||||||
|
# could use `if (set -u; : $PYTHONHOME) ;` in bash
|
||||||
|
if [ -n "${PYTHONHOME:-}" ] ; then
|
||||||
|
_OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
|
||||||
|
unset PYTHONHOME
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
|
||||||
|
_OLD_VIRTUAL_PS1="${PS1:-}"
|
||||||
|
if [ "x(venv-odoo12) " != x ] ; then
|
||||||
|
PS1="(venv-odoo12) ${PS1:-}"
|
||||||
|
else
|
||||||
|
if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
|
||||||
|
# special case for Aspen magic directories
|
||||||
|
# see http://www.zetadev.com/software/aspen/
|
||||||
|
PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
|
||||||
|
else
|
||||||
|
PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
export PS1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# This should detect bash and zsh, which have a hash command that must
|
||||||
|
# be called to get it to forget past commands. Without forgetting
|
||||||
|
# past commands the $PATH changes we made may not be respected
|
||||||
|
if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
|
||||||
|
hash -r
|
||||||
|
fi
|
||||||
|
|
||||||
|
pip3 install wheel
|
||||||
|
pip3 install -r /home/ubuntu/config/odoo_requirements.txt ## for zdc-odoo
|
||||||
|
pip3 install -r /home/ubuntu/config/oca_requirements.txt ## for zdc-oca-addons
|
BIN
db/zdc-db-dump-v1.sql.gz
Normal file
BIN
db/zdc-db-dump-v1.sql.gz
Normal file
Binary file not shown.
BIN
db/zdc-db-filestore-v1.zip
Normal file
BIN
db/zdc-db-filestore-v1.zip
Normal file
Binary file not shown.
24983
db/zdc-template-db.sql
24983
db/zdc-template-db.sql
File diff suppressed because one or more lines are too long
61
vm-create.sh
Executable file
61
vm-create.sh
Executable file
@@ -0,0 +1,61 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
NAME=$1
|
||||||
|
|
||||||
|
PRIVATE_KEY=~/.ssh/id_rsa
|
||||||
|
PUBLIC_KEY=~/.ssh/id_rsa.pub
|
||||||
|
|
||||||
|
DB_NAME=zdcbasedb10
|
||||||
|
|
||||||
|
echo "### Create Ubuntu 18.04 LTS VM"
|
||||||
|
multipass launch bionic --name $NAME --cpus 2 --mem 2048M --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 "### Add ssh private and public key"
|
||||||
|
multipass transfer $PRIVATE_KEY $NAME:/home/ubuntu/.ssh/id_rsa
|
||||||
|
multipass transfer $PUBLIC_KEY $NAME:/home/ubuntu/.ssh/id_rsa.pub
|
||||||
|
multipass transfer config/ssh_known_hosts $NAME:/home/ubuntu/.ssh/known_hosts
|
||||||
|
multipass exec $NAME -- chmod 600 /home/ubuntu/.ssh/id_rsa
|
||||||
|
|
||||||
|
echo "### Add OCB Odoo, OCA addons"
|
||||||
|
multipass exec $NAME -- /usr/bin/git clone git@gitea.egroup.sk:development/zdc-odoo --depth 1 --branch master /home/ubuntu/odoo12
|
||||||
|
multipass exec $NAME -- /usr/bin/git clone git@gitea.egroup.sk:development/zdc-core-addons --depth 1 --branch master /home/ubuntu/custom/zdc-core-addons
|
||||||
|
multipass exec $NAME -- /usr/bin/git clone git@gitea.egroup.sk:development/zdc-oca-addons --depth 1 --branch master /home/ubuntu/custom/zdc-oca-addons
|
||||||
|
multipass exec $NAME -- /usr/bin/git clone git@gitea.egroup.sk:development/zdc-addons --depth 1 --branch master /home/ubuntu/custom/dev-addons
|
||||||
|
|
||||||
|
echo "### Install Python Environment"
|
||||||
|
multipass transfer config/venv-install.sh $NAME:/home/ubuntu/config/venv-install.sh
|
||||||
|
multipass transfer config/odoo_requirements.txt $NAME:/home/ubuntu/config/odoo_requirements.txt
|
||||||
|
multipass transfer config/oca_requirements.txt $NAME:/home/ubuntu/config/oca_requirements.txt
|
||||||
|
multipass exec $NAME -- sudo -u ubuntu /usr/bin/python3 -m venv /home/ubuntu/venv-odoo12
|
||||||
|
multipass exec $NAME -- sudo -u ubuntu /bin/bash /home/ubuntu/config/venv-install.sh
|
||||||
|
|
||||||
|
echo "### Setup OCB Odoo 12"
|
||||||
|
multipass transfer config/odoo12.conf $NAME:/home/ubuntu/config/odoo12.conf
|
||||||
|
multipass transfer config/odoo12_service.conf $NAME:/home/ubuntu/config/odoo12.service
|
||||||
|
multipass exec $NAME -- sudo cp /home/ubuntu/config/odoo12.conf /etc/odoo12.conf
|
||||||
|
multipass exec $NAME -- sudo cp /home/ubuntu/config/odoo12.service /etc/systemd/system/odoo12.service
|
||||||
|
multipass exec $NAME -- sudo systemctl daemon-reload
|
||||||
|
multipass exec $NAME -- sudo systemctl enable --now odoo12.service
|
||||||
|
|
||||||
|
echo "### Create ZDC Template DB"
|
||||||
|
multipass transfer db/zdc-db-dump-v1.sql.gz $NAME:/home/ubuntu/db/zdc-db-dump.sql.gz
|
||||||
|
multipass transfer db/zdc-db-filestore-v1.zip $NAME:/home/ubuntu/db/zdc-db-filestore.zip
|
||||||
|
multipass exec $NAME -- gzip -d /home/ubuntu/db/zdc-db-dump.sql.gz
|
||||||
|
multipass exec $NAME -- sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER=ubuntu;"
|
||||||
|
multipass exec $NAME -- sudo -u postgres psql -d $DB_NAME -f /home/ubuntu/db/zdc-db-dump.sql
|
||||||
|
multipass exec $NAME -- mkdir -p /home/ubuntu/.local/share/Odoo/filestore/$DB_NAME
|
||||||
|
multipass exec $NAME -- unzip /home/ubuntu/db/zdc-db-filestore.zip -d /home/ubuntu/.local/share/Odoo/filestore/$DB_NAME
|
||||||
|
|
||||||
|
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 "###"
|
||||||
|
echo "### Odoo database manager on $NAME server: http://$URL_IP:8069/web/database/selector"
|
||||||
|
echo "###"
|
||||||
|
|
||||||
|
open http://$URL_IP:8069/web/
|
10
vm-db-create.sh
Executable file
10
vm-db-create.sh
Executable file
@@ -0,0 +1,10 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
NAME=$1
|
||||||
|
DB_NAME=$2
|
||||||
|
|
||||||
|
echo "### Create Db from Template"
|
||||||
|
multipass exec $NAME -- sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER=ubuntu;"
|
||||||
|
multipass exec $NAME -- sudo -u postgres psql -d $DB_NAME -f /home/ubuntu/db/zdc-db-dump.sql
|
||||||
|
multipass exec $NAME -- mkdir -p /home/ubuntu/.local/share/Odoo/filestore/$DB_NAME
|
||||||
|
multipass exec $NAME -- unzip /home/ubuntu/db/zdc-db-filestore.zip -d /home/ubuntu/.local/share/Odoo/filestore/$DB_NAME
|
19
vm-dev-update.sh
Executable file
19
vm-dev-update.sh
Executable file
@@ -0,0 +1,19 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# customise for your development fork
|
||||||
|
|
||||||
|
NAME=$1
|
||||||
|
DEV_REPO="development/zdc-addons"
|
||||||
|
DEV_BRANCH="dev"
|
||||||
|
|
||||||
|
echo "### Stop odoo service"
|
||||||
|
multipass exec $NAME -- sudo systemctl stop odoo12.service
|
||||||
|
|
||||||
|
echo "### Remove old dev repostitory"
|
||||||
|
multipass exec $NAME -- sudo rm -r /home/ubuntu/custom/dev-addons
|
||||||
|
|
||||||
|
echo "### Clone new dev repository"
|
||||||
|
multipass exec $NAME -- /usr/bin/git clone git@gitea.egroup.sk:$DEV_REPO --depth 1 --branch $DEV_BRANCH /home/ubuntu/custom/dev-addons
|
||||||
|
|
||||||
|
echo "### Start odoo service"
|
||||||
|
multipass exec $NAME -- sudo systemctl start odoo12.service
|
19
vm-zdc-update.sh
Executable file
19
vm-zdc-update.sh
Executable file
@@ -0,0 +1,19 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
NAME=$1
|
||||||
|
|
||||||
|
echo "### Stop odoo service"
|
||||||
|
multipass exec $NAME -- sudo systemctl stop odoo12
|
||||||
|
|
||||||
|
echo "### Remove old repostitories"
|
||||||
|
multipass exec $NAME -- sudo rm -r /home/ubuntu/odoo12
|
||||||
|
multipass exec $NAME -- sudo rm -r /home/ubuntu/custom/zdc-core-addons
|
||||||
|
multipass exec $NAME -- sudo rm -r /home/ubuntu/custom/zdc-oca-addons
|
||||||
|
|
||||||
|
echo "### Clone new repositories"
|
||||||
|
multipass exec $NAME -- /usr/bin/git clone git@gitea.egroup.sk:development/zdc-odoo --depth 1 --branch master /home/ubuntu/odoo12
|
||||||
|
multipass exec $NAME -- /usr/bin/git clone git@gitea.egroup.sk:development/zdc-core-addons --depth 1 --branch master /home/ubuntu/custom/zdc-core-addons
|
||||||
|
multipass exec $NAME -- /usr/bin/git clone git@gitea.egroup.sk:development/zdc-oca-addons --depth 1 --branch master /home/ubuntu/custom/zdc-oca-addons
|
||||||
|
|
||||||
|
echo "### Start odoo service"
|
||||||
|
multipass exec $NAME -- sudo systemctl start odoo12
|
@@ -1,32 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
NAME=$1
|
|
||||||
|
|
||||||
echo "### Create Ubuntu 18.04 LTS VM"
|
|
||||||
multipass launch bionic --name $NAME --cpus 2 --mem 2048M --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-tools/raw/branch/master/db/zdc-template-db.sql -O /var/lib/postgresql/zdc-template-db.sql
|
|
||||||
multipass exec $NAME -- sudo -u postgres psql -c "CREATE DATABASE zdcbasedb10 WITH OWNER=ubuntu;"
|
|
||||||
multipass exec $NAME -- sudo -u postgres psql -d zdcbasedb10 -f /var/lib/postgresql/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 "###"
|
|
||||||
echo "### Odoo database manager on $NAME server: http://$URL_IP:8069/web/database/selector"
|
|
Reference in New Issue
Block a user