Make MifosX SPOC-compatible
This commit is contained in:
parent
d8d9f5431e
commit
ff3d37517f
28
lxc-apps/mifosx/app
Normal file
28
lxc-apps/mifosx/app
Normal file
@ -0,0 +1,28 @@
|
||||
{
|
||||
"version": "18.03.01-200313",
|
||||
"meta": {
|
||||
"title": "Mifos X",
|
||||
"desc-cs": "Mikrofinancování rozvojových projektů",
|
||||
"desc-en": "Development projects microfinancing",
|
||||
"license": "GPL"
|
||||
},
|
||||
"containers": {
|
||||
"mifosx": {
|
||||
"image": "mifosx_18.03.01-200313",
|
||||
"depends": [
|
||||
"mifosx-mariadb"
|
||||
],
|
||||
"mounts": {
|
||||
"mifosx/mifosx_conf/server.xml": "srv/tomcat/conf/server.xml:file",
|
||||
"mifosx/mifosx_conf/context.xml": "srv/tomcat/webapps/fineract-provider/META-INF/context.xml:file"
|
||||
}
|
||||
},
|
||||
"mifosx-mariadb": {
|
||||
"image": "mariadb_10.4.12-200313",
|
||||
"mounts": {
|
||||
"mifosx/mariadb_conf/my.cnf": "etc/my.cnf:file",
|
||||
"mifosx/mariadb_data": "var/lib/mysql"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
IMAGE mifosx_18.03.01-190620
|
||||
FROM alpine3.9-tomcat8.5_8.5.41-190620
|
||||
IMAGE mifosx_18.03.01-200313
|
||||
FROM alpine3.11-tomcat8.5_8.5.51-200313
|
||||
|
||||
RUN EOF
|
||||
# Install full-featured wget to work around sourceforge bugs
|
||||
@ -22,7 +22,7 @@ RUN EOF
|
||||
EOF
|
||||
|
||||
# s6 required for single service due to hanging threads
|
||||
COPY lxc
|
||||
COPY image.d
|
||||
|
||||
RUN EOF
|
||||
# Update Czech translation of community-app
|
@ -1,50 +1,50 @@
|
||||
#!/bin/sh
|
||||
set -ev
|
||||
|
||||
# Volumes
|
||||
MARIADB_CONF="${VOLUMES_DIR}/mifosx/mariadb_conf"
|
||||
MARIADB_DATA="${VOLUMES_DIR}/mifosx/mariadb_data"
|
||||
MIFOSX_CONF="${VOLUMES_DIR}/mifosx/mifosx_conf"
|
||||
|
||||
# Create MariaDB instance
|
||||
mkdir -p /srv/mifosx/mariadb_conf /srv/mifosx/mariadb_data
|
||||
chown 103306:103306 /srv/mifosx/mariadb_data
|
||||
cp mariadb_conf/my.cnf /srv/mifosx/mariadb_conf/my.cnf
|
||||
chown -R 100000:100000 /srv/mifosx/mariadb_conf
|
||||
lxc-execute mifosx-mariadb -- mysql_install_db --user=mysql --datadir=/var/lib/mysql --auth-root-authentication-method=socket --auth-root-socket-user=mysql --skip-test-db
|
||||
install -o 100000 -g 100000 -m 755 -d ${MARIADB_CONF}
|
||||
install -o 103306 -g 103306 -m 750 -d ${MARIADB_DATA}
|
||||
install -o 100000 -g 100000 -m 644 mariadb_conf/my.cnf ${MARIADB_CONF}/my.cnf
|
||||
spoc-container exec mifosx-mariadb -- mysql_install_db --user=mysql --datadir=/var/lib/mysql --auth-root-authentication-method=socket --auth-root-socket-user=mysql --skip-test-db
|
||||
|
||||
# Create databases
|
||||
export MIFOSX_PWD=$(head -c 18 /dev/urandom | base64 | tr -d '+/=')
|
||||
service lxc-mifosx-mariadb start
|
||||
envsubst <createdb.sql | lxc-attach mifosx-mariadb -- mysql -u mysql
|
||||
spoc-container start mifosx-mariadb
|
||||
envsubst <createdb.sql | spoc-container exec mifosx-mariadb -- mysql -u mysql
|
||||
|
||||
# Configure Mifos X
|
||||
mkdir -p /srv/mifosx/mifosx_conf
|
||||
envsubst <mifosx_conf/context.xml >/srv/mifosx/mifosx_conf/context.xml
|
||||
cp mifosx_conf/server.xml /srv/mifosx/mifosx_conf/server.xml
|
||||
chown -R 100000:100000 /srv/mifosx/mifosx_conf
|
||||
install -o 100000 -g 100000 -m 755 -d ${MIFOSX_CONF}
|
||||
envsubst <mifosx_conf/context.xml | install -o 100000 -g 100000 -m 644 /dev/stdin ${MIFOSX_CONF}/context.xml
|
||||
install -o 100000 -g 100000 -m 644 mifosx_conf/server.xml ${MIFOSX_CONF}/server.xml
|
||||
|
||||
# Populate database
|
||||
lxc-execute mifosx -- cat /tmp/mifospltaform-tenants-first-time-install.sql | lxc-attach mifosx-mariadb -- mysql -u mysql mifosplatform-tenants
|
||||
envsubst <schemapwd.sql | lxc-attach mifosx-mariadb -- mysql -u mysql mifosplatform-tenants
|
||||
spoc-container exec mifosx -- cat /tmp/mifospltaform-tenants-first-time-install.sql | spoc-container exec mifosx-mariadb -- mysql -u mysql mifosplatform-tenants
|
||||
envsubst <schemapwd.sql | spoc-container exec mifosx-mariadb -- mysql -u mysql mifosplatform-tenants
|
||||
|
||||
# Populate database
|
||||
service lxc-mifosx start
|
||||
spoc-container start mifosx
|
||||
until grep -q 'org.apache.catalina.startup.Catalina.start Server startup' /var/log/lxc/mifosx.log; do
|
||||
sleep 1
|
||||
done
|
||||
service lxc-mifosx stop
|
||||
spoc-container stop mifosx
|
||||
|
||||
# Fix missing previous_run_status column
|
||||
echo 'ALTER TABLE `scheduled_email_campaign` ADD `previous_run_status` VARCHAR(10) NULL;' | lxc-attach mifosx-mariadb -- mysql -u mysql mifostenant-default
|
||||
echo 'ALTER TABLE `scheduled_email_campaign` ADD `previous_run_status` VARCHAR(10) NULL;' | spoc-container exec mifosx-mariadb -- mysql -u mysql mifostenant-default
|
||||
|
||||
# Update admin account
|
||||
export MIFOSX_ADMIN_USER=admin
|
||||
export MIFOSX_ADMIN_EMAIL=admin@example.com
|
||||
export MIFOSX_ADMIN_PWD=$(head -c 12 /dev/urandom | base64 | tr -d '+/=')
|
||||
export MIFOSX_ADMIN_HASH=$(echo -n "${MIFOSX_ADMIN_PWD}{1}" | sha256sum | awk '{print $1}')
|
||||
envsubst <adminpwd.sql | lxc-attach mifosx-mariadb -- mysql -u mysql mifostenant-default
|
||||
|
||||
# Install config update script
|
||||
cp update-conf.sh /srv/mifosx/update-conf.sh
|
||||
envsubst <adminpwd.sql | spoc-container exec mifosx-mariadb -- mysql -u mysql mifostenant-default
|
||||
|
||||
# Stop services required for setup
|
||||
service lxc-mifosx-mariadb stop
|
||||
spoc-container stop mifosx-mariadb
|
||||
|
||||
# Register application
|
||||
vmmgr register-app mifosx mifosx "${MIFOSX_ADMIN_USER}" "${MIFOSX_ADMIN_PWD}"
|
||||
|
@ -1,28 +0,0 @@
|
||||
{
|
||||
"version": "18.03.01-190620",
|
||||
"meta": {
|
||||
"title": "Mifos X",
|
||||
"desc-cs": "Mikrofinancování rozvojových projektů",
|
||||
"desc-en": "Development projects microfinancing",
|
||||
"license": "GPL"
|
||||
},
|
||||
"containers": {
|
||||
"mifosx": {
|
||||
"image": "mifosx_18.03.01-190620",
|
||||
"depends": [
|
||||
"mifosx-mariadb"
|
||||
],
|
||||
"mounts": [
|
||||
["FILE", "/srv/mifosx/mifosx_conf/server.xml", "/srv/tomcat/conf/server.xml"],
|
||||
["FILE", "/srv/mifosx/mifosx_conf/context.xml", "/srv/tomcat/webapps/fineract-provider/META-INF/context.xml"]
|
||||
]
|
||||
},
|
||||
"mifosx-mariadb": {
|
||||
"image": "mariadb_10.3.15-190620",
|
||||
"mounts": [
|
||||
["FILE", "/srv/mifosx/mariadb_conf/my.cnf", "/etc/my.cnf"],
|
||||
["DIR", "/srv/mifosx/mariadb_data", "/var/lib/mysql"]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
set -ev
|
||||
|
||||
# Remove persistent data
|
||||
rm -rf /srv/mifosx
|
||||
rm -rf "${VOLUME_DIR}/mifosx"
|
||||
|
||||
# Unregister application
|
||||
vmmgr unregister-app mifosx
|
||||
|
Loading…
Reference in New Issue
Block a user