From 3cf4d8ec1fc29cb074ba86446599c8685ea07ec9 Mon Sep 17 00:00:00 2001 From: Disassembler Date: Sun, 25 Mar 2018 23:19:45 +0200 Subject: [PATCH] Unify Sahana naming and nginx configuration for spotter-appmgr --- sahana.sh | 14 +++++--------- sahana/Dockerfile | 2 +- sahana/docker/etc/nginx/nginx.conf | 9 +-------- sahana/etc/init.d/sahana | 9 ++++----- sahana/etc/nginx/conf.d/sahana.conf | 11 ----------- sahana/srv/sahana/update-ip.sh | 4 ---- sahana/srv/sahana/update-url.sh | 6 ++++++ 7 files changed, 17 insertions(+), 38 deletions(-) delete mode 100644 sahana/etc/nginx/conf.d/sahana.conf delete mode 100755 sahana/srv/sahana/update-ip.sh create mode 100644 sahana/srv/sahana/update-url.sh diff --git a/sahana.sh b/sahana.sh index 5c1409e..3c19e9a 100755 --- a/sahana.sh +++ b/sahana.sh @@ -24,12 +24,12 @@ chown -R 8001:8001 /srv/sahana/data # Configure Sahana export SAHANA_HMAC=$(head -c 18 /dev/urandom | base64) -envsubst <${SOURCE_DIR}/srv/sahana/conf/000_config.py >/srv/sahana/conf/000_config.py -cp ${SOURCE_DIR}/srv/sahana/conf/00_settings.py /srv/sahana/conf/00_settings.py -cp ${SOURCE_DIR}/srv/sahana/update-ip.sh /srv/sahana/update-ip.sh export SAHANA_ADMIN_USER=admin@example.com 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 +cp ${SOURCE_DIR}/srv/sahana/update-url.sh /srv/sahana/update-url.sh # 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" @@ -46,9 +46,5 @@ cp ${SOURCE_DIR}/etc/init.d/sahana /etc/init.d/sahana rc-update add sahana service sahana start -# Create nginx app definition -cp ${SOURCE_DIR}/etc/nginx/conf.d/sahana.conf /etc/nginx/conf.d/sahana.conf -service nginx reload - -# Add portal application definition -portal-app-manager sahana-eden "https://{host}:8401/eden/" "${SAHANA_ADMIN_USER}" "${SAHANA_ADMIN_PWD}" +# Add application definition +spotter-appmgr add-app sahana "https://sahana.{host}/eden/" "${SAHANA_ADMIN_USER}" "${SAHANA_ADMIN_PWD}" diff --git a/sahana/Dockerfile b/sahana/Dockerfile index 92223bf..31c3e03 100644 --- a/sahana/Dockerfile +++ b/sahana/Dockerfile @@ -55,6 +55,6 @@ COPY docker/etc/ /etc/ COPY --chown=8001:8001 docker/srv/ /srv/ VOLUME ["/srv/web2py/applications/eden/models", "/srv/web2py/applications/eden/databases", "/srv/web2py/applications/eden/uploads"] -EXPOSE 8001 +EXPOSE 8080 CMD ["s6-svscan", "/etc/services.d"] diff --git a/sahana/docker/etc/nginx/nginx.conf b/sahana/docker/etc/nginx/nginx.conf index ea95b49..58f6d9d 100644 --- a/sahana/docker/etc/nginx/nginx.conf +++ b/sahana/docker/etc/nginx/nginx.conf @@ -17,20 +17,13 @@ http { sendfile on; server { - listen 8001; - server_name localhost; - - location = / { - return 301 $http_x_forwarded_proto://$http_x_forwarded_host/eden; - } + listen 8080; location /eden { uwsgi_pass unix:///run/uwsgi; uwsgi_read_timeout 300s; uwsgi_send_timeout 300s; include uwsgi_params; - uwsgi_param UWSGI_SCHEME $scheme; - uwsgi_param SERVER_SOFTWARE nginx/$nginx_version; } location ~* /eden/static { diff --git a/sahana/etc/init.d/sahana b/sahana/etc/init.d/sahana index 51eddfd..d28e990 100755 --- a/sahana/etc/init.d/sahana +++ b/sahana/etc/init.d/sahana @@ -7,17 +7,12 @@ depend() { use dns logger netmount postfix } -start_pre() { - /srv/sahana/update-ip.sh -} - start() { /usr/bin/docker run -d --rm \ --name sahana \ -h sahana \ --link postfix \ --link postgres \ - -p 127.0.0.1:8001:8001 \ -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 \ @@ -25,6 +20,10 @@ start() { sahana } +start_post() { + /usr/local/bin/spotter-appmgr update-hosts sahana +} + stop() { /usr/bin/docker stop sahana } diff --git a/sahana/etc/nginx/conf.d/sahana.conf b/sahana/etc/nginx/conf.d/sahana.conf deleted file mode 100644 index 6a2aafd..0000000 --- a/sahana/etc/nginx/conf.d/sahana.conf +++ /dev/null @@ -1,11 +0,0 @@ -server { - listen [::]:8801 ipv6only=off; - listen [::]:8401 ssl http2 ipv6only=off; - - access_log /var/log/nginx/sahana.access.log; - error_log /var/log/nginx/sahana.error.log; - - location / { - proxy_pass http://127.0.0.1:8001; - } -} diff --git a/sahana/srv/sahana/update-ip.sh b/sahana/srv/sahana/update-ip.sh deleted file mode 100755 index 12cd5ed..0000000 --- a/sahana/srv/sahana/update-ip.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -URL=$(ip route get 1 | awk '{print $NF;exit}') -sed -i "s|^settings\.base\.public_url.*|settings.base.public_url = \"https://${URL}:8401\"|" /srv/sahana/conf/000_config.py diff --git a/sahana/srv/sahana/update-url.sh b/sahana/srv/sahana/update-url.sh new file mode 100644 index 0000000..8b88341 --- /dev/null +++ b/sahana/srv/sahana/update-url.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +HOST="${1}" +[ "${2}" != "443" ] && HOST="${1}:${2}" + +sed -i "s|^settings\.base\.public_url.*|settings.base.public_url = \"https://${HOST}\"|" /srv/sahana/conf/000_config.py