Initial commit for LXCification
This commit is contained in:
parent
42523d1aa3
commit
1c40252112
@ -82,7 +82,7 @@ chroot /mnt setup-timezone -z Europe/Prague
|
||||
|
||||
# Set hostname
|
||||
echo 'spotter.vm' >/mnt/etc/hostname
|
||||
echo '127.0.0.1 spotter.vm localhost localhost.localdomain' >/mnt/etc/hosts
|
||||
echo -e '127.0.0.1 localhost\n::1 localhost' >/mnt/etc/hosts
|
||||
sed -i '/hostname/d' /mnt/etc/network/interfaces
|
||||
|
||||
# Enable services on boot
|
||||
|
@ -3,6 +3,11 @@ set -e
|
||||
|
||||
SOURCE_DIR=$(realpath $(dirname "${0}"))/basic-runtimes
|
||||
|
||||
# Build basic Alpine image
|
||||
mkdir -p /var/lib/lxc/shared/alpine
|
||||
wget https://github.com/gliderlabs/docker-alpine/raw/2bfe6510ee31d86cfeb2f37587f4cf866f28ffbc/versions/library-3.8/x86_64/rootfs.tar.xz -O - | tar xJf - -C /var/lib/lxc/shared/alpine
|
||||
cp ${SOURCE_DIR}/var/lib/lxc/shared/config /var/lib/lxc/shared/config
|
||||
|
||||
# Build Docker images
|
||||
docker build -t java ${SOURCE_DIR}/java
|
||||
docker build -t php ${SOURCE_DIR}/php
|
||||
|
24
basic-runtimes/var/lib/lxc/shared/config
Normal file
24
basic-runtimes/var/lib/lxc/shared/config
Normal file
@ -0,0 +1,24 @@
|
||||
# Hostname
|
||||
lxc.uts.name = shared
|
||||
|
||||
# Network
|
||||
lxc.net.0.type = veth
|
||||
lxc.net.0.link = lxcbr0
|
||||
lxc.net.0.flags = up
|
||||
lxc.net.0.ipv4.address = 172.17.0.2/16
|
||||
lxc.net.0.ipv4.gateway = auto
|
||||
|
||||
# Volumes
|
||||
lxc.rootfs.path = /var/lib/lxc/shared/alpine
|
||||
|
||||
# Mounts
|
||||
lxc.mount.entry = /etc/hosts /etc/hosts none bind 0 0
|
||||
lxc.mount.entry = /etc/resolv.conf /etc/resolv.conf none bind 0 0
|
||||
|
||||
# Halt
|
||||
lxc.signal.halt = SIGTERM
|
||||
|
||||
# Other
|
||||
lxc.arch = x86_64
|
||||
lxc.cap.drop = sys_admin
|
||||
lxc.include = /usr/share/lxc/config/alpine.common.conf
|
31
basic.sh
31
basic.sh
@ -4,7 +4,7 @@ set -e
|
||||
SOURCE_DIR=$(realpath $(dirname "${0}"))/basic
|
||||
|
||||
# Install packages
|
||||
apk --no-cache add curl docker e2fsprogs-extra gettext kbd-misc libressl python3 py3-bcrypt py3-cffi py3-dnspython py3-jinja2 py3-requests py3-six py3-werkzeug nginx util-linux
|
||||
apk --no-cache add curl bridge e2fsprogs-extra gettext iptables kbd-misc libressl lxc python3 py3-bcrypt py3-cffi py3-dnspython py3-jinja2 py3-requests py3-six py3-werkzeug nginx util-linux
|
||||
if [ ${DEBUG:-0} -eq 1 ]; then
|
||||
# Install some utilities for DEBUG mode
|
||||
apk --no-cache add git file htop less openssh-server openssh-sftp-server
|
||||
@ -33,38 +33,37 @@ cp ${SOURCE_DIR}/etc/conf.d/consolefont /etc/conf.d/consolefont
|
||||
# Configure NTP client
|
||||
cp ${SOURCE_DIR}/etc/conf.d/ntpd /etc/conf.d/ntpd
|
||||
|
||||
# Configure networking
|
||||
cp ${SOURCE_DIR}/etc/conf.d/iptables /etc/conf.d/iptables
|
||||
cp ${SOURCE_DIR}/etc/iptables/rules-save /etc/iptables/rules-save
|
||||
cp ${SOURCE_DIR}/etc/network/interfaces /etc/network/interfaces
|
||||
service networking restart
|
||||
service iptables restart
|
||||
echo -e "172.17.0.1 host\n172.17.0.1 postfix" >>/etc/hosts
|
||||
|
||||
# Download and configure acme.sh
|
||||
mkdir /etc/acme.sh.d
|
||||
wget https://raw.githubusercontent.com/Neilpang/acme.sh/master/acme.sh -O /usr/bin/acme.sh
|
||||
sed -i 's|$HOME/.$PROJECT_NAME|/etc/acme.sh.d|' /usr/bin/acme.sh
|
||||
chmod +x /usr/bin/acme.sh
|
||||
|
||||
# Copy AppMgr resources
|
||||
cp ${SOURCE_DIR}/etc/init.d/vm-appmgr /etc/init.d/vm-appmgr
|
||||
# Copy VMMgr resources
|
||||
cp ${SOURCE_DIR}/etc/init.d/vmmgr /etc/init.d/vmmgr
|
||||
rc-update -u
|
||||
cp -r ${SOURCE_DIR}/srv/vm /srv/vm
|
||||
ln -s /srv/vm/cli.py /usr/bin/vm-appmgr
|
||||
ln -s /srv/vm/cli.py /usr/bin/vmmgr
|
||||
|
||||
# Create a self-signed certificate
|
||||
vm-appmgr create-selfsigned
|
||||
vmmgr create-selfsigned
|
||||
|
||||
# Configure nginx
|
||||
cp ${SOURCE_DIR}/etc/nginx/nginx.conf /etc/nginx/nginx.conf
|
||||
|
||||
# Configure services
|
||||
for SERVICE in consolefont crond nginx ntpd sshd vm-appmgr swap; do
|
||||
for SERVICE in consolefont crond nginx ntpd lxd sshd swap vmmgr; do
|
||||
rc-update add ${SERVICE} boot
|
||||
service ${SERVICE} start
|
||||
done
|
||||
|
||||
# Configure Docker service
|
||||
cp ${SOURCE_DIR}/etc/init.d/docker /etc/init.d/docker
|
||||
rc-update -u
|
||||
rc-update add docker
|
||||
service docker start
|
||||
|
||||
# Create basic images
|
||||
docker build -t alpine ${SOURCE_DIR}
|
||||
|
||||
# Set dummy host and generate related files
|
||||
vm-appmgr update-host spotter.vm 443
|
||||
vmmgr update-host spotter.vm 443
|
||||
|
14
basic/etc/conf.d/iptables
Normal file
14
basic/etc/conf.d/iptables
Normal file
@ -0,0 +1,14 @@
|
||||
# /etc/conf.d/iptables
|
||||
|
||||
# Location in which iptables initscript will save set rules on
|
||||
# service shutdown
|
||||
IPTABLES_SAVE="/etc/iptables/rules-save"
|
||||
|
||||
# Options to pass to iptables-save and iptables-restore
|
||||
SAVE_RESTORE_OPTIONS="-c"
|
||||
|
||||
# Save state on stopping iptables
|
||||
SAVE_ON_STOP="yes"
|
||||
|
||||
# Enable/disable IPv4 forwarding with the rules
|
||||
IPFORWARD="yes"
|
@ -1,40 +0,0 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
command="${DOCKERD_BINARY:-/usr/bin/dockerd}"
|
||||
pidfile="${DOCKER_PIDFILE:-/run/${RC_SVCNAME}.pid}"
|
||||
command_args="-p \"${pidfile}\" ${DOCKER_OPTS}"
|
||||
DOCKER_LOGFILE="${DOCKER_LOGFILE:-/var/log/${RC_SVCNAME}.log}"
|
||||
DOCKER_ERRFILE="${DOCKER_ERRFILE:-${DOCKER_LOGFILE}}"
|
||||
DOCKER_OUTFILE="${DOCKER_OUTFILE:-${DOCKER_LOGFILE}}"
|
||||
start_stop_daemon_args="--background \
|
||||
--stderr \"${DOCKER_ERRFILE}\" --stdout \"${DOCKER_OUTFILE}\""
|
||||
|
||||
grsecdir=/proc/sys/kernel/grsecurity
|
||||
|
||||
depend() {
|
||||
need sysfs cgroups
|
||||
}
|
||||
|
||||
start_pre() {
|
||||
checkpath -f -m 0644 -o root:docker "$DOCKER_LOGFILE"
|
||||
|
||||
for i in $disable_grsec; do
|
||||
if [ -e "$grsecdir/$i" ]; then
|
||||
einfo " Disabling $i"
|
||||
echo 0 > "$grsecdir/$i"
|
||||
fi
|
||||
done
|
||||
ulimit -n 1048576
|
||||
|
||||
# Having non-zero limits causes performance problems due to accounting overhead
|
||||
# in the kernel. We recommend using cgroups to do container-local accounting.
|
||||
ulimit -p unlimited
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
start_post() {
|
||||
ewaitfile 10 /var/run/docker.sock
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
#!/sbin/openrc-run
|
||||
|
||||
command=/srv/vm/wsgi.py
|
||||
description="VM application manager"
|
||||
pidfile=/var/run/vm-appmgr.pid
|
||||
description="VM manager"
|
||||
pidfile=/var/run/vmmgr.pid
|
||||
start_stop_daemon_args="--background --make-pidfile --stderr /dev/null --stdout /dev/null"
|
7
basic/etc/iptables/rules-save
Normal file
7
basic/etc/iptables/rules-save
Normal file
@ -0,0 +1,7 @@
|
||||
*nat
|
||||
:PREROUTING ACCEPT [0:0]
|
||||
:INPUT ACCEPT [0:0]
|
||||
:OUTPUT ACCEPT [0:0]
|
||||
:POSTROUTING ACCEPT [0:0]
|
||||
[0:0] -A POSTROUTING -o eth0 -j MASQUERADE
|
||||
COMMIT
|
15
basic/etc/network/interfaces
Normal file
15
basic/etc/network/interfaces
Normal file
@ -0,0 +1,15 @@
|
||||
auto lo
|
||||
iface lo inet loopback
|
||||
|
||||
auto eth0
|
||||
iface eth0 inet dhcp
|
||||
|
||||
auto lxcbr0
|
||||
iface lxcbr0 inet static
|
||||
address 172.17.0.1
|
||||
network 172.17.0.0
|
||||
netmask 255.255.0.0
|
||||
broadcast 172.17.255.255
|
||||
bridge_fd 0
|
||||
bridge_stp off
|
||||
bridge_waitport 0
|
@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Rebuild /etc/issue
|
||||
/usr/bin/vm-appmgr rebuild-issue
|
||||
/usr/bin/vmmgr rebuild-issue
|
||||
# Remove double-escaping needed for the real /etc/issue
|
||||
/bin/sed 's|\\\\|\\|g' /etc/issue
|
||||
# Wait for key press
|
||||
|
@ -6,7 +6,7 @@ import getpass
|
||||
import sys
|
||||
sys.path.append('/srv/vm')
|
||||
|
||||
from appmgr import AppMgr
|
||||
from mgr import VMMgr
|
||||
|
||||
parser = argparse.ArgumentParser(description='VM application manager')
|
||||
subparsers = parser.add_subparsers()
|
||||
@ -77,7 +77,7 @@ parser_install_cert.add_argument('certificate', help='Certificate file')
|
||||
parser_install_cert.add_argument('key', help='Key file')
|
||||
|
||||
args = parser.parse_args()
|
||||
mgr = AppMgr()
|
||||
mgr = VMMgr()
|
||||
if args.action == 'update-login':
|
||||
mgr.update_login(args.app, args.login, args.password)
|
||||
elif args.action == 'show-tiles':
|
||||
|
@ -122,7 +122,7 @@ x509_extensions = ext
|
||||
subjectAltName=DNS:{domain},DNS:*.{domain}"
|
||||
'''
|
||||
|
||||
class AppMgr:
|
||||
class VMMgr:
|
||||
def __init__(self):
|
||||
# Load JSON configuration
|
||||
with open(CONF_FILE, 'r') as f:
|
@ -10,7 +10,7 @@ from werkzeug.wrappers import Request, Response
|
||||
from werkzeug.wsgi import ClosingIterator
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
|
||||
from . import AppMgr, CERT_PUB_FILE
|
||||
from . import VMMgr, CERT_PUB_FILE
|
||||
from . import tools
|
||||
from .validator import InvalidValueException
|
||||
from .wsgilang import WSGILang
|
||||
@ -30,7 +30,7 @@ class WSGIApp(object):
|
||||
def wsgi_app(self, environ, start_response):
|
||||
request = Request(environ)
|
||||
# Enhance request
|
||||
request.mgr = AppMgr()
|
||||
request.mgr = VMMgr()
|
||||
request.session = WSGISession(request.cookies, SESSION_KEY)
|
||||
request.session.lang = WSGILang()
|
||||
# Dispatch request
|
||||
@ -254,7 +254,7 @@ class WSGIApp(object):
|
||||
return self.render_json({'ok': request.session.lang.app_stopped()})
|
||||
|
||||
def update_password_action(self, request):
|
||||
# Updates password for both HDD encryption (LUKS-on-LVM) and admin account to vm-appmgr
|
||||
# Updates password for both HDD encryption (LUKS-on-LVM) and admin account to vmmgr
|
||||
try:
|
||||
if request.form['newpassword'] != request.form['newpassword2']:
|
||||
return self.render_json({'error': request.session.lang.password_mismatch()})
|
@ -4,7 +4,7 @@
|
||||
import sys
|
||||
|
||||
sys.path.append('/srv/vm')
|
||||
from appmgr.wsgiapp import WSGIApp
|
||||
from mgr.wsgiapp import WSGIApp
|
||||
|
||||
application = WSGIApp()
|
||||
|
||||
|
2
ckan.sh
2
ckan.sh
@ -56,7 +56,7 @@ export CKAN_ADMIN_PWD=$(head -c 12 /dev/urandom | base64)
|
||||
export CKAN_ADMIN_HASH=$(docker run --rm ckan python -c "from passlib.hash import pbkdf2_sha512;print pbkdf2_sha512.encrypt('${CKAN_ADMIN_PWD}')")
|
||||
export CKAN_ADMIN_EMAIL="admin@example.com"
|
||||
envsubst <${SOURCE_DIR}/adminpwd.sql | docker exec -i postgres psql ckan
|
||||
vm-appmgr update-login ckan "${CKAN_ADMIN_USER}" "${CKAN_ADMIN_PWD}"
|
||||
vmmgr update-login ckan "${CKAN_ADMIN_USER}" "${CKAN_ADMIN_PWD}"
|
||||
|
||||
# Install cron job
|
||||
cp ${SOURCE_DIR}/etc/periodic/hourly/ckan /etc/periodic/hourly/ckan
|
||||
|
@ -21,11 +21,11 @@ start() {
|
||||
}
|
||||
|
||||
start_post() {
|
||||
/usr/bin/vm-appmgr register-proxy ckan
|
||||
/usr/bin/vmmgr register-proxy ckan
|
||||
}
|
||||
|
||||
stop_pre() {
|
||||
/usr/bin/vm-appmgr unregister-proxy ckan
|
||||
/usr/bin/vmmgr unregister-proxy ckan
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
@ -31,7 +31,7 @@ envsubst <${SOURCE_DIR}/srv/crisiscleanup/conf/database.yml >/srv/crisiscleanup/
|
||||
cp ${SOURCE_DIR}/srv/crisiscleanup/conf/boot.rb /srv/crisiscleanup/conf/boot.rb
|
||||
cp ${SOURCE_DIR}/srv/crisiscleanup/conf/initializers/devise.rb /srv/crisiscleanup/conf/initializers/devise.rb
|
||||
cp ${SOURCE_DIR}/srv/crisiscleanup/conf/environments/production.rb /srv/crisiscleanup/conf/environments/production.rb
|
||||
vm-appmgr update-login crisiscleanup "${CRISISCLEANUP_ADMIN_EMAIL}" "${CRISISCLEANUP_ADMIN_PWD}"
|
||||
vmmgr update-login crisiscleanup "${CRISISCLEANUP_ADMIN_EMAIL}" "${CRISISCLEANUP_ADMIN_PWD}"
|
||||
|
||||
# Populate database
|
||||
envsubst <${SOURCE_DIR}/srv/crisiscleanup/db/seeds.rb >/tmp/seeds.rb
|
||||
|
@ -17,11 +17,11 @@ start() {
|
||||
}
|
||||
|
||||
start_post() {
|
||||
/usr/bin/vm-appmgr register-proxy crisiscleanup
|
||||
/usr/bin/vmmgr register-proxy crisiscleanup
|
||||
}
|
||||
|
||||
stop_pre() {
|
||||
/usr/bin/vm-appmgr unregister-proxy crisiscleanup
|
||||
/usr/bin/vmmgr unregister-proxy crisiscleanup
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
2
cts.sh
2
cts.sh
@ -39,7 +39,7 @@ export CTS_ADMIN_PWD=$(head -c 12 /dev/urandom | base64)
|
||||
export CTS_ADMIN_HASH=$(docker run --rm -h cts -v /srv/cts/conf:/srv/cts/cts/settings cts python -c "from django.contrib.auth.hashers import make_password; print make_password('${CTS_ADMIN_PWD}')")
|
||||
export CTS_ADMIN_SECRET=$(head -c 12 /dev/urandom | sha256sum | cut -c1-13)
|
||||
envsubst <${SOURCE_DIR}/adminpwd.sql | docker exec -i postgres psql cts
|
||||
vm-appmgr update-login cts "${CTS_ADMIN_EMAIL}" "${CTS_ADMIN_PWD}"
|
||||
vmmgr update-login cts "${CTS_ADMIN_EMAIL}" "${CTS_ADMIN_PWD}"
|
||||
|
||||
# Stop services required for build
|
||||
service postgres stop
|
||||
|
@ -16,11 +16,11 @@ start() {
|
||||
}
|
||||
|
||||
start_post() {
|
||||
/usr/bin/vm-appmgr register-proxy cts
|
||||
/usr/bin/vmmgr register-proxy cts
|
||||
}
|
||||
|
||||
stop_pre() {
|
||||
/usr/bin/vm-appmgr unregister-proxy cts
|
||||
/usr/bin/vmmgr unregister-proxy cts
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
@ -16,4 +16,4 @@ export FRONTLINESMS_ADMIN_USER_HASH=$(echo -n "${FRONTLINESMS_ADMIN_USER}" | bas
|
||||
export FRONTLINESMS_ADMIN_PWD_HASH=$(echo -n "${FRONTLINESMS_ADMIN_PWD}" | base64)
|
||||
envsubst <${SOURCE_DIR}/srv/frontlinesms/data/app-settings.properties >/srv/frontlinesms/data/app-settings.properties
|
||||
chown -R 8018:8018 /srv/frontlinesms/data
|
||||
vm-appmgr update-login frontlinesms "${FRONTLINESMS_ADMIN_USER}" "${FRONTLINESMS_ADMIN_PWD}"
|
||||
vmmgr update-login frontlinesms "${FRONTLINESMS_ADMIN_USER}" "${FRONTLINESMS_ADMIN_PWD}"
|
||||
|
@ -15,11 +15,11 @@ start() {
|
||||
}
|
||||
|
||||
start_post() {
|
||||
/usr/bin/vm-appmgr register-proxy frontlinesms
|
||||
/usr/bin/vmmgr register-proxy frontlinesms
|
||||
}
|
||||
|
||||
stop_pre() {
|
||||
/usr/bin/vm-appmgr unregister-proxy frontlinesms
|
||||
/usr/bin/vmmgr unregister-proxy frontlinesms
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
@ -27,7 +27,7 @@ export GNUHEALTH_ADMIN_PWD=$(head -c 12 /dev/urandom | base64)
|
||||
echo ${GNUHEALTH_ADMIN_PWD} >/tmp/.adminpwd
|
||||
docker run --rm -h gnuhealth --link postgres -v /srv/gnuhealth/conf:/srv/gnuhealth/gnuhealth/tryton/server/config -v /tmp/.adminpwd:/tmp/.adminpwd -e TRYTONPASSFILE=/tmp/.adminpwd gnuhealth /srv/gnuhealth/gnuhealth/tryton/server/trytond-4.2.15/bin/trytond-admin -d gnuhealth --all -v
|
||||
rm -f /tmp/.adminpwd
|
||||
vm-appmgr update-login gnuhealth "${GNUHEALTH_ADMIN_USER}" "${GNUHEALTH_ADMIN_PWD}"
|
||||
vmmgr update-login gnuhealth "${GNUHEALTH_ADMIN_USER}" "${GNUHEALTH_ADMIN_PWD}"
|
||||
|
||||
# Populate demo database
|
||||
wget http://health.gnu.org/downloads/postgres_dumps/gnuhealth-32-demo.sql.gz -O /tmp/gnuhealth_demo.sql.gz
|
||||
|
@ -17,11 +17,11 @@ start() {
|
||||
}
|
||||
|
||||
start_post() {
|
||||
/usr/bin/vm-appmgr register-proxy gnuhealth
|
||||
/usr/bin/vmmgr register-proxy gnuhealth
|
||||
}
|
||||
|
||||
stop_pre() {
|
||||
/usr/bin/vm-appmgr unregister-proxy gnuhealth
|
||||
/usr/bin/vmmgr unregister-proxy gnuhealth
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
@ -26,7 +26,7 @@ export KANBOARD_ADMIN_USER=admin
|
||||
export KANBOARD_ADMIN_PWD=$(head -c 12 /dev/urandom | base64)
|
||||
export KANBOARD_ADMIN_HASH=$(docker run --rm kanboard php -r "echo password_hash('${KANBOARD_ADMIN_PWD}', PASSWORD_BCRYPT);")
|
||||
envsubst <${SOURCE_DIR}/adminpwd.sql | docker exec -i postgres psql kanboard
|
||||
vm-appmgr update-login kanboard "${KANBOARD_ADMIN_USER}" "${KANBOARD_ADMIN_PWD}"
|
||||
vmmgr update-login kanboard "${KANBOARD_ADMIN_USER}" "${KANBOARD_ADMIN_PWD}"
|
||||
|
||||
# Install cron job
|
||||
cp ${SOURCE_DIR}/etc/periodic/daily/kanboard /etc/periodic/daily/kanboard
|
||||
|
@ -18,11 +18,11 @@ start() {
|
||||
}
|
||||
|
||||
start_post() {
|
||||
/usr/bin/vm-appmgr register-proxy kanboard
|
||||
/usr/bin/vmmgr register-proxy kanboard
|
||||
}
|
||||
|
||||
stop_pre() {
|
||||
/usr/bin/vm-appmgr unregister-proxy kanboard
|
||||
/usr/bin/vmmgr unregister-proxy kanboard
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
@ -42,7 +42,7 @@ 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 <${SOURCE_DIR}/adminpwd.sql | docker exec -i mariadb mysql mifostenant-default
|
||||
vm-appmgr update-login mifosx "${MIFOSX_ADMIN_USER}" "${MIFOSX_ADMIN_PWD}"
|
||||
vmmgr update-login mifosx "${MIFOSX_ADMIN_USER}" "${MIFOSX_ADMIN_PWD}"
|
||||
|
||||
# Stop services required for build
|
||||
service mariadb stop
|
||||
|
@ -18,11 +18,11 @@ start() {
|
||||
}
|
||||
|
||||
start_post() {
|
||||
/usr/bin/vm-appmgr register-proxy mifosx
|
||||
/usr/bin/vmmgr register-proxy mifosx
|
||||
}
|
||||
|
||||
stop_pre() {
|
||||
/usr/bin/vm-appmgr unregister-proxy mifosx
|
||||
/usr/bin/vmmgr unregister-proxy mifosx
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
@ -38,7 +38,7 @@ export MOTECH_ADMIN_EMAIL="admin@example.com"
|
||||
export MOTECH_ADMIN_PWD=$(head -c 12 /dev/urandom | base64)
|
||||
curl -H "Content-Type: application/json" -X POST -d "{\"adminLogin\":\"${MOTECH_ADMIN_USER}\",\"adminEmail\":\"${MOTECH_ADMIN_EMAIL}\",\"adminPassword\":\"${MOTECH_ADMIN_PWD}\",\"adminConfirmPassword\":\"${MOTECH_ADMIN_PWD}\",\"language\":\"cs\",\"providerName\":\"\",\"providerUrl\":\"\",\"schedulerUrl\":\"\"}" http://${MOTECH_IP}:8080/module/server/startup/
|
||||
service motech stop
|
||||
vm-appmgr update-login motech "${MOTECH_ADMIN_USER}" "${MOTECH_ADMIN_PWD}"
|
||||
vmmgr update-login motech "${MOTECH_ADMIN_USER}" "${MOTECH_ADMIN_PWD}"
|
||||
|
||||
# Stop services required for build
|
||||
service activemq stop
|
||||
|
@ -18,11 +18,11 @@ start() {
|
||||
}
|
||||
|
||||
start_post() {
|
||||
/usr/bin/vm-appmgr register-proxy motech
|
||||
/usr/bin/vmmgr register-proxy motech
|
||||
}
|
||||
|
||||
stop_pre() {
|
||||
/usr/bin/vm-appmgr unregister-proxy motech
|
||||
/usr/bin/vmmgr unregister-proxy motech
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
@ -17,11 +17,11 @@ start() {
|
||||
}
|
||||
|
||||
start_post() {
|
||||
/usr/bin/vm-appmgr register-proxy opendatakit-build
|
||||
/usr/bin/vmmgr register-proxy opendatakit-build
|
||||
}
|
||||
|
||||
stop_pre() {
|
||||
/usr/bin/vm-appmgr unregister-proxy opendatakit-build
|
||||
/usr/bin/vmmgr unregister-proxy opendatakit-build
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
@ -39,7 +39,7 @@ export OPENDATAKIT_ADMIN_SALT=$(head -c 4 /dev/urandom | hexdump -e '"%x"') # Mu
|
||||
export OPENDATAKIT_ADMIN_BASIC_HASH=$(echo -n "${OPENDATAKIT_ADMIN_PWD}{${OPENDATAKIT_ADMIN_SALT}}" | sha1sum | tr -d " -")
|
||||
export OPENDATAKIT_ADMIN_DIGEST_HASH=$(echo -n "${OPENDATAKIT_ADMIN_USER}:${OPENDATAKIT_ADMIN_REALM}:${OPENDATAKIT_ADMIN_PWD}" | md5sum | tr -d " -")
|
||||
envsubst <${SOURCE_DIR}/adminpwd.sql | docker exec -i postgres psql opendatakit
|
||||
vm-appmgr update-login opendatakit "${OPENDATAKIT_ADMIN_USER}" "${OPENDATAKIT_ADMIN_PWD}"
|
||||
vmmgr update-login opendatakit "${OPENDATAKIT_ADMIN_USER}" "${OPENDATAKIT_ADMIN_PWD}"
|
||||
|
||||
# Stop services required for build
|
||||
service postgres stop
|
||||
|
@ -19,11 +19,11 @@ start() {
|
||||
}
|
||||
|
||||
start_post() {
|
||||
/usr/bin/vm-appmgr register-proxy opendatakit
|
||||
/usr/bin/vmmgr register-proxy opendatakit
|
||||
}
|
||||
|
||||
stop_pre() {
|
||||
/usr/bin/vm-appmgr unregister-proxy opendatakit
|
||||
/usr/bin/vmmgr unregister-proxy opendatakit
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
@ -15,4 +15,4 @@ mkdir -p /srv/openmapkit/conf /srv/openmapkit/data
|
||||
chown -R 8007:8007 /srv/openmapkit/data
|
||||
docker run --rm -v /srv/openmapkit/data:/mnt/data openmapkit cp -rp /srv/openmapkit/data/. /mnt/data
|
||||
envsubst <${SOURCE_DIR}/srv/openmapkit/conf/settings.js >/srv/openmapkit/conf/settings.js
|
||||
vm-appmgr update-login openmapkit "${OPENMAPKIT_ADMIN_USER}" "${OPENMAPKIT_ADMIN_PWD}"
|
||||
vmmgr update-login openmapkit "${OPENMAPKIT_ADMIN_USER}" "${OPENMAPKIT_ADMIN_PWD}"
|
||||
|
@ -16,11 +16,11 @@ start() {
|
||||
}
|
||||
|
||||
start_post() {
|
||||
/usr/bin/vm-appmgr register-proxy openmapkit
|
||||
/usr/bin/vmmgr register-proxy openmapkit
|
||||
}
|
||||
|
||||
stop_pre() {
|
||||
/usr/bin/vm-appmgr unregister-proxy openmapkit
|
||||
/usr/bin/vmmgr unregister-proxy openmapkit
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
@ -55,7 +55,7 @@ export PANDORA_ADMIN_EMAIL=admin@example.com
|
||||
export PANDORA_ADMIN_PWD=$(head -c 12 /dev/urandom | base64)
|
||||
export PANDORA_ADMIN_HASH=$(docker run --rm -h pandora -e DJANGO_SETTINGS_MODULE=pandora.settings -v /srv/pandora/conf:/srv/pandora/conf pandora python3 -c "from django.contrib.auth.hashers import make_password; print(make_password('${PANDORA_ADMIN_PWD}'))")
|
||||
envsubst <${SOURCE_DIR}/adminpwd.sql | docker exec -i postgres psql pandora
|
||||
vm-appmgr update-login pandora "${PANDORA_ADMIN_USER}" "${PANDORA_ADMIN_PWD}"
|
||||
vmmgr update-login pandora "${PANDORA_ADMIN_USER}" "${PANDORA_ADMIN_PWD}"
|
||||
|
||||
# Stop services required for build
|
||||
service rabbitmq stop
|
||||
|
@ -19,11 +19,11 @@ start() {
|
||||
}
|
||||
|
||||
start_post() {
|
||||
/usr/bin/vm-appmgr register-proxy pandora
|
||||
/usr/bin/vmmgr register-proxy pandora
|
||||
}
|
||||
|
||||
stop_pre() {
|
||||
/usr/bin/vm-appmgr unregister-proxy pandora
|
||||
/usr/bin/vmmgr unregister-proxy pandora
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
@ -30,7 +30,7 @@ export SAHANADEMO_ADMIN_USER=admin@example.com
|
||||
export SAHANADEMO_ADMIN_PWD=$(head -c 12 /dev/urandom | base64)
|
||||
envsubst <${SOURCE_DIR}/srv/sahana-demo/conf/000_config.py >/srv/sahana-demo/conf/000_config.py
|
||||
envsubst <${SOURCE_DIR}/masterUsers.csv >/tmp/masterUsers.csv
|
||||
vm-appmgr update-login sahana-demo "${SAHANADEMO_ADMIN_USER}" "${SAHANADEMO_ADMIN_PWD}"
|
||||
vmmgr update-login sahana-demo "${SAHANADEMO_ADMIN_USER}" "${SAHANADEMO_ADMIN_PWD}"
|
||||
|
||||
# Populate database
|
||||
docker run --rm -h sahana-demo --link postgres -v /srv/sahana-demo/conf:/srv/web2py/applications/eden/models -v /srv/sahana-demo/data/${TEMPLATE}:/srv/web2py/applications/eden/modules/templates/${TEMPLATE} -v /srv/sahana-demo/data/databases:/srv/web2py/applications/eden/databases -v /tmp/masterUsers.csv:/srv/web2py/applications/eden/modules/templates/default/users/masterUsers.csv sahana su - sahana -c "./web2py.py -S eden -M -R applications/eden/static/scripts/tools/noop.py"
|
||||
|
@ -20,11 +20,11 @@ start() {
|
||||
}
|
||||
|
||||
start_post() {
|
||||
/usr/bin/vm-appmgr register-proxy sahana-demo
|
||||
/usr/bin/vmmgr register-proxy sahana-demo
|
||||
}
|
||||
|
||||
stop_pre() {
|
||||
/usr/bin/vm-appmgr unregister-proxy sahana-demo
|
||||
/usr/bin/vmmgr unregister-proxy sahana-demo
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
@ -33,7 +33,7 @@ export SAHANA_ADMIN_PWD=$(head -c 12 /dev/urandom | base64)
|
||||
envsubst <${SOURCE_DIR}/srv/sahana/conf/000_config.py >/srv/sahana/conf/000_config.py
|
||||
envsubst <${SOURCE_DIR}/srv/sahana/data/Spotter/masterUsers.csv >/srv/sahana/data/Spotter/masterUsers.csv
|
||||
cp ${SOURCE_DIR}/srv/sahana/conf/00_settings.py /srv/sahana/conf/00_settings.py
|
||||
vm-appmgr update-login sahana "${SAHANA_ADMIN_USER}" "${SAHANA_ADMIN_PWD}"
|
||||
vmmgr update-login sahana "${SAHANA_ADMIN_USER}" "${SAHANA_ADMIN_PWD}"
|
||||
|
||||
# Populate database
|
||||
docker run --rm -h sahana --link postgres -v /srv/sahana/conf:/srv/web2py/applications/eden/models -v /srv/sahana/data/Spotter:/srv/web2py/applications/eden/modules/templates/Spotter -v /srv/sahana/data/databases:/srv/web2py/applications/eden/databases sahana su - sahana -c "./web2py.py -S eden -M -R applications/eden/static/scripts/tools/noop.py"
|
||||
|
@ -20,11 +20,11 @@ start() {
|
||||
}
|
||||
|
||||
start_post() {
|
||||
/usr/bin/vm-appmgr register-proxy sahana
|
||||
/usr/bin/vmmgr register-proxy sahana
|
||||
}
|
||||
|
||||
stop_pre() {
|
||||
/usr/bin/vm-appmgr unregister-proxy sahana
|
||||
/usr/bin/vmmgr unregister-proxy sahana
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
@ -31,7 +31,7 @@ envsubst <${SOURCE_DIR}/srv/sambro/conf/000_config.py >/srv/sambro/conf/000_conf
|
||||
envsubst <${SOURCE_DIR}/masterUsers.csv >/tmp/masterUsers.csv
|
||||
cp ${SOURCE_DIR}/srv/sambro/conf/00_settings.py /srv/sambro/conf/00_settings.py
|
||||
cp ${SOURCE_DIR}/srv/sambro/data/SAMBRO/config.py /srv/sambro/data/SAMBRO/config.py
|
||||
vm-appmgr update-login sambro "${SAMBRO_ADMIN_USER}" "${SAMBRO_ADMIN_PWD}"
|
||||
vmmgr update-login sambro "${SAMBRO_ADMIN_USER}" "${SAMBRO_ADMIN_PWD}"
|
||||
|
||||
# Populate database
|
||||
docker run --rm -h sambro --link postgres -v /srv/sambro/conf:/srv/web2py/applications/eden/models -v /srv/sambro/data/SAMBRO:/srv/web2py/applications/eden/modules/templates/SAMBRO -v /tmp/masterUsers.csv:/srv/web2py/applications/eden/modules/templates/default/users/masterUsers.csv -v /srv/sambro/data/databases:/srv/web2py/applications/eden/databases sahana su - sahana -c "./web2py.py -S eden -M -R applications/eden/static/scripts/tools/noop.py"
|
||||
|
@ -20,11 +20,11 @@ start() {
|
||||
}
|
||||
|
||||
start_post() {
|
||||
/usr/bin/vm-appmgr register-proxy sambro
|
||||
/usr/bin/vmmgr register-proxy sambro
|
||||
}
|
||||
|
||||
stop_pre() {
|
||||
/usr/bin/vm-appmgr unregister-proxy sambro
|
||||
/usr/bin/vmmgr unregister-proxy sambro
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
@ -32,7 +32,7 @@ export SEEDDMS_ADMIN_PWD=$(head -c 12 /dev/urandom | base64)
|
||||
export SEEDDMS_ADMIN_EMAIL=admin@example.com
|
||||
envsubst <${SOURCE_DIR}/adminpwd.sql | docker exec -i postgres psql seeddms
|
||||
chown -R 8010:8010 /srv/seeddms/conf
|
||||
vm-appmgr update-login seeddms "${SEEDDMS_ADMIN_USER}" "${SEEDDMS_ADMIN_PWD}"
|
||||
vmmgr update-login seeddms "${SEEDDMS_ADMIN_USER}" "${SEEDDMS_ADMIN_PWD}"
|
||||
|
||||
# Install cron job
|
||||
cp ${SOURCE_DIR}/etc/periodic/hourly/seeddms /etc/periodic/hourly/seeddms
|
||||
|
@ -18,11 +18,11 @@ start() {
|
||||
}
|
||||
|
||||
start_post() {
|
||||
/usr/bin/vm-appmgr register-proxy seeddms
|
||||
/usr/bin/vmmgr register-proxy seeddms
|
||||
}
|
||||
|
||||
stop_pre() {
|
||||
/usr/bin/vm-appmgr unregister-proxy seeddms
|
||||
/usr/bin/vmmgr unregister-proxy seeddms
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
@ -44,7 +44,7 @@ sed -i "s|\$2a\$10\$pMcTA1p9fefR8U9NoOPei.H0eq/TbbdSF27M0tn9iDWBrA4JHeCDC|${SIGM
|
||||
cat /tmp/sigmah-MinimumDataKit.sql | docker exec -i -e PGPASSWORD=${SIGMAH_PWD} postgres psql -U sigmah sigmah
|
||||
cat /tmp/sigmah-newOrganizationLaunchScript.sql | docker exec -i -e PGPASSWORD=${SIGMAH_PWD} postgres psql -U sigmah sigmah
|
||||
rm -f /tmp/sigmah-MinimumDataKit.sql /tmp/sigmah-newOrganizationLaunchScript.sql
|
||||
vm-appmgr update-login sigmah "${SIGMAH_ADMIN_EMAIL}" "${SIGMAH_ADMIN_PWD}"
|
||||
vmmgr update-login sigmah "${SIGMAH_ADMIN_EMAIL}" "${SIGMAH_ADMIN_PWD}"
|
||||
|
||||
# Stop services required for build
|
||||
service postgres stop
|
||||
|
@ -19,11 +19,11 @@ start() {
|
||||
}
|
||||
|
||||
start_post() {
|
||||
/usr/bin/vm-appmgr register-proxy sigmah
|
||||
/usr/bin/vmmgr register-proxy sigmah
|
||||
}
|
||||
|
||||
stop_pre() {
|
||||
/usr/bin/vm-appmgr unregister-proxy sigmah
|
||||
/usr/bin/vmmgr unregister-proxy sigmah
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
@ -31,7 +31,7 @@ export USHAHIDI_ADMIN_USER=admin@example.com
|
||||
export USHAHIDI_ADMIN_PWD=$(head -c 12 /dev/urandom | base64)
|
||||
export USHAHIDI_ADMIN_HASH=$(docker run --rm ushahidi php -r "echo password_hash('${USHAHIDI_ADMIN_PWD}', PASSWORD_BCRYPT);")
|
||||
envsubst <${SOURCE_DIR}/adminpwd.sql | docker exec -i mariadb mysql ushahidi
|
||||
vm-appmgr update-login ushahidi "${USHAHIDI_ADMIN_USER}" "${USHAHIDI_ADMIN_PWD}"
|
||||
vmmgr update-login ushahidi "${USHAHIDI_ADMIN_USER}" "${USHAHIDI_ADMIN_PWD}"
|
||||
|
||||
# Install cron job
|
||||
cp ${SOURCE_DIR}/etc/periodic/15min/ushahidi /etc/periodic/15min/ushahidi
|
||||
|
@ -19,11 +19,11 @@ start() {
|
||||
}
|
||||
|
||||
start_post() {
|
||||
/usr/bin/vm-appmgr register-proxy ushahidi
|
||||
/usr/bin/vmmgr register-proxy ushahidi
|
||||
}
|
||||
|
||||
stop_pre() {
|
||||
/usr/bin/vm-appmgr unregister-proxy ushahidi
|
||||
/usr/bin/vmmgr unregister-proxy ushahidi
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
Loading…
Reference in New Issue
Block a user