Introduce Odoo application package
This commit is contained in:
parent
aecf3eede2
commit
1dce7601cf
@ -103,6 +103,7 @@ The full build process takes considerable amount of time, so it is advised to ha
|
||||
| Motech | motech | 8013 | 8080 (HTTP) | motech |
|
||||
| ODK Aggregate | opendatakit | 8015 | 8080 (HTTP) | odk |
|
||||
| ODK Build | opendatakit-build | 8017 | 8080 (HTTP) | odkbuild |
|
||||
| Odoo | odoo | 8019 | 8080 (HTPP) | odoo |
|
||||
| OpenMapKit | openmapkit | 8007 | 8080 (HTTP) | omk |
|
||||
| Pan.do/ra | pandora | 8002 | 8080 (HTTP) | pandora |
|
||||
| Postgres | postgres | 5432 | 5432 (Postgres) | - |
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 6a68be739ab7ba6c55d79c9abf7744b6eaa35cf7
|
||||
Subproject commit be5e95d5c0389ef024359cf4885a0a5792363c05
|
41
odoo/install.sh
Executable file
41
odoo/install.sh
Executable file
@ -0,0 +1,41 @@
|
||||
#!/bin/sh
|
||||
set -ev
|
||||
|
||||
cd $(realpath $(dirname "${0}"))/install
|
||||
|
||||
# Check prerequisites
|
||||
[ ! -e /run/openrc/started/postgres ] && service postgres start && STOP_POSTGRES=1
|
||||
|
||||
# Create databases
|
||||
export ODOO_PWD=$(head -c 18 /dev/urandom | base64)
|
||||
envsubst <createdb.sql | lxc-attach -u 5432 -g 5432 postgres -- psql
|
||||
|
||||
# Configure Odoo
|
||||
export ODOO_ADMIN_USER="admin"
|
||||
export ODOO_ADMIN_PWD=$(head -c 12 /dev/urandom | base64)
|
||||
mkdir -p /srv/odoo/conf/ /srv/odoo/data/
|
||||
chown 8019:8019 /srv/odoo/data/
|
||||
envsubst <srv/odoo/conf/odoo.conf >/srv/odoo/conf/odoo.conf
|
||||
|
||||
# Populate database
|
||||
lxc-start odoo -- /srv/odoo/odoo-bin -c /srv/odoo/odoo.conf -i base --load-language=cs_CZ
|
||||
until grep -q 'odoo.modules.loading: Modules loaded.' /var/log/lxc/odoo.log; do
|
||||
sleep 1
|
||||
done
|
||||
lxc-stop odoo
|
||||
|
||||
# Update admin account
|
||||
export ODOO_ADMIN_HASH=$(lxc-execute odoo -- python -c "from passlib.hash import pbkdf2_sha512;print(pbkdf2_sha512.encrypt('${ODOO_ADMIN_PWD}'))")
|
||||
envsubst <adminpwd.sql | lxc-attach -u 5432 -g 5432 postgres -- psql odoo
|
||||
|
||||
# Install service
|
||||
cp etc/init.d/odoo /etc/init.d/odoo
|
||||
rc-update -u
|
||||
|
||||
# Stop services required for setup
|
||||
[ ! -z ${STOP_POSTGRES} ] && service postgres stop
|
||||
|
||||
# Register application
|
||||
vmmgr register-app odoo "${ODOO_ADMIN_USER}" "${ODOO_ADMIN_PWD}"
|
||||
|
||||
exit 0
|
3
odoo/install/adminpwd.sql
Normal file
3
odoo/install/adminpwd.sql
Normal file
@ -0,0 +1,3 @@
|
||||
UPDATE res_lang SET active = true WHERE code = 'cs_CZ';
|
||||
UPDATE res_partner SET lang = 'cs_CZ', tz = 'Europe/Prague' WHERE id = 3;
|
||||
UPDATE res_users SET password = '${ODOO_ADMIN_HASH}' WHERE login = 'admin';
|
4
odoo/install/createdb.sql
Normal file
4
odoo/install/createdb.sql
Normal file
@ -0,0 +1,4 @@
|
||||
CREATE ROLE odoo NOSUPERUSER NOCREATEDB NOCREATEROLE NOINHERIT LOGIN ENCRYPTED PASSWORD '${ODOO_PWD}';
|
||||
CREATE DATABASE odoo;
|
||||
REVOKE ALL ON DATABASE odoo FROM public;
|
||||
ALTER DATABASE odoo OWNER TO odoo;
|
23
odoo/install/etc/init.d/odoo
Executable file
23
odoo/install/etc/init.d/odoo
Executable file
@ -0,0 +1,23 @@
|
||||
#!/sbin/openrc-run
|
||||
|
||||
description="Odoo container"
|
||||
|
||||
depend() {
|
||||
need postgres
|
||||
}
|
||||
|
||||
start() {
|
||||
lxc-start odoo
|
||||
}
|
||||
|
||||
start_post() {
|
||||
/usr/bin/vmmgr register-proxy odoo
|
||||
}
|
||||
|
||||
stop_pre() {
|
||||
/usr/bin/vmmgr unregister-proxy odoo
|
||||
}
|
||||
|
||||
stop() {
|
||||
lxc-stop odoo
|
||||
}
|
12
odoo/install/srv/odoo/conf/odoo.conf
Normal file
12
odoo/install/srv/odoo/conf/odoo.conf
Normal file
@ -0,0 +1,12 @@
|
||||
[options]
|
||||
admin_passwd = ${ODOO_ADMIN_PWD}
|
||||
data_dir = /srv/odoo/data
|
||||
db_host = postgres
|
||||
db_name = odoo
|
||||
db_password = ${ODOO_PWD}
|
||||
db_user = odoo
|
||||
email_from = admin@example.com
|
||||
http_port = 8080
|
||||
list_db = False
|
||||
proxy_mode = True
|
||||
smtp_server = host
|
3
odoo/install/srv/odoo/update-conf.sh
Executable file
3
odoo/install/srv/odoo/update-conf.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
sed -i "s|\(^email_from = \).*|\1${EMAIL}|" /srv/odoo/conf/odoo.conf
|
39
odoo/lxcfile
Normal file
39
odoo/lxcfile
Normal file
@ -0,0 +1,39 @@
|
||||
IMAGE odoo
|
||||
LAYER shared/alpine
|
||||
LAYER shared/libxml
|
||||
LAYER shared/python3
|
||||
LAYER shared/nodejs
|
||||
LAYER odoo/odoo
|
||||
|
||||
FIXLAYER /usr/bin/fix-apk
|
||||
|
||||
RUN EOF
|
||||
# Install runtime dependencies
|
||||
apk --no-cache add libjpeg-turbo libpq
|
||||
|
||||
# Install build dependencies
|
||||
apk --no-cache add --virtual .deps build-base git libjpeg-turbo-dev libxml2-dev libxslt-dev linux-headers openldap-dev postgresql-dev python3-dev
|
||||
|
||||
# Clone Odoo repository
|
||||
git clone --depth 1 https://github.com/odoo/odoo.git /srv/odoo
|
||||
|
||||
# Install Odoo
|
||||
cd /srv/odoo
|
||||
pip3 install -r requirements.txt
|
||||
|
||||
# Create OS user
|
||||
addgroup -S -g 8019 odoo
|
||||
adduser -S -u 8019 -h /srv/odoo -s /bin/false -g odoo -G odoo odoo
|
||||
chown -R odoo:odoo /srv/odoo
|
||||
|
||||
# Cleanup
|
||||
apk --no-cache del .deps
|
||||
find /srv/odoo -name '.git*' -exec rm -rf {} +
|
||||
rm -rf /usr/local/share/.cache
|
||||
EOF
|
||||
|
||||
MOUNT FILE /srv/odoo/conf/odoo.conf srv/odoo/odoo.conf
|
||||
MOUNT DIR /srv/odoo/data srv/odoo/data
|
||||
|
||||
USER 8019 8019
|
||||
CMD /srv/odoo/odoo-bin -c srv/odoo/odoo.conf
|
7
odoo/pkg
Normal file
7
odoo/pkg
Normal file
@ -0,0 +1,7 @@
|
||||
pkg: odoo
|
||||
title: Odoo
|
||||
lxcpath: odoo
|
||||
desc: Sada aplikací pro správu organizace
|
||||
host: odoo
|
||||
version: 0.0.1
|
||||
deps: python3 nodejs postgres
|
13
odoo/uninstall.sh
Executable file
13
odoo/uninstall.sh
Executable file
@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
set -ev
|
||||
|
||||
# Remove service
|
||||
rm -f /etc/init.d/odoo
|
||||
rc-update -u
|
||||
|
||||
# Drop database and user
|
||||
[ ! -e /run/openrc/started/postgres ] && service postgres start && STOP_POSTGRES=1
|
||||
echo 'DROP DATABASE IF EXISTS odoo; DROP ROLE IF EXISTS odoo;' | lxc-attach -u 5432 -g 5432 postgres -- psql
|
||||
[ ! -z ${STOP_POSTGRES} ] && service postgres stop
|
||||
|
||||
exit 0
|
Loading…
Reference in New Issue
Block a user