Browse Source

Improve the sed replacement

Johannes Zellner 9 years ago
parent
commit
559fc93063
4 changed files with 40 additions and 54 deletions
  1. 2 2
      conf.json
  2. 17 17
      local.py
  3. 1 1
      nginx.conf
  4. 20 34
      start.sh

+ 2 - 2
conf.json

@@ -1,6 +1,6 @@
 {
 {
-    "api": "http://example.com/api/v1/",
-    "eventsUrl": "ws://example.com/events",
+    "api": "https://##APP_DOMAIN##/api/v1/",
+    "eventsUrl": "wss://##APP_DOMAIN##/events",
     "eventsMaxMissedHeartbeats": 5,
     "eventsMaxMissedHeartbeats": 5,
     "eventsHeartbeatIntervalTime": 60000,
     "eventsHeartbeatIntervalTime": 60000,
     "debug": true,
     "debug": true,

+ 17 - 17
local.py

@@ -2,11 +2,11 @@
 
 
 from .common import *
 from .common import *
 
 
-MEDIA_URL = "http://example.com/media/"
-STATIC_URL = "http://example.com/static/"
-ADMIN_MEDIA_PREFIX = "http://example.com/static/admin/"
-SITES["front"]["scheme"] = "http"
-SITES["front"]["domain"] = "example.com"
+MEDIA_URL = "https://##APP_DOMAIN##/media/"
+STATIC_URL = "https://##APP_DOMAIN##/static/"
+ADMIN_MEDIA_PREFIX = "https://##APP_DOMAIN##/static/admin/"
+SITES["front"]["scheme"] = "https"
+SITES["front"]["domain"] = "##APP_DOMAIN##"
 
 
 SECRET_KEY = "theveryultratopsecretkey"
 SECRET_KEY = "theveryultratopsecretkey"
 
 
@@ -14,41 +14,41 @@ DEBUG = False
 TEMPLATE_DEBUG = False
 TEMPLATE_DEBUG = False
 PUBLIC_REGISTER_ENABLED = True
 PUBLIC_REGISTER_ENABLED = True
 
 
-DEFAULT_FROM_EMAIL = "no-reply@example.com"
+DEFAULT_FROM_EMAIL = "##MAIL_SMTP_USERNAME##@##MAIL_DOMAIN##"
 SERVER_EMAIL = DEFAULT_FROM_EMAIL
 SERVER_EMAIL = DEFAULT_FROM_EMAIL
 
 
 # Uncomment and populate with proper connection parameters
 # Uncomment and populate with proper connection parameters
 # for enable email sending. EMAIL_HOST_USER should end by @domain.tld
 # for enable email sending. EMAIL_HOST_USER should end by @domain.tld
 EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
 EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
 EMAIL_USE_TLS = False
 EMAIL_USE_TLS = False
-EMAIL_HOST = "localhost"
-EMAIL_PORT = 25
-EMAIL_HOST_USER = ""
+EMAIL_HOST = "##MAIL_SMTP_SERVER##"
+EMAIL_PORT = ##MAIL_SMTP_PORT##
+EMAIL_HOST_USER = "##MAIL_SMTP_USERNAME##"
 # EMAIL_HOST_PASSWORD = ""
 # EMAIL_HOST_PASSWORD = ""
 
 
 # Database config
 # Database config
 DATABASES = {
 DATABASES = {
     "default": {
     "default": {
         "ENGINE": "transaction_hooks.backends.postgresql_psycopg2",
         "ENGINE": "transaction_hooks.backends.postgresql_psycopg2",
-        "NAME": "taiga",
-        "USER": "taiga",
-        "PASSWORD": "changeme",
-        "HOST": "",
-        "PORT": "",
+        "NAME": "##POSTGRESQL_DATABASE##",
+        "USER": "##POSTGRESQL_USERNAME##",
+        "PASSWORD": "##POSTGRESQL_PASSWORD##",
+        "HOST": "##POSTGRESQL_HOST##",
+        "PORT": "##POSTGRESQL_PORT##",
     }
     }
 }
 }
 
 
 INSTALLED_APPS += ["taiga_contrib_ldap_auth"]
 INSTALLED_APPS += ["taiga_contrib_ldap_auth"]
 
 
-LDAP_SERVER = "ldap://ldap.example.com"
-LDAP_PORT = 389
+LDAP_SERVER = "ldap://##LDAP_SERVER##"
+LDAP_PORT = ##LDAP_PORT##
 
 
 # Full DN of the service account use to connect to LDAP server and search for login user's account entry
 # Full DN of the service account use to connect to LDAP server and search for login user's account entry
 # If LDAP_BIND_DN is not specified, or is blank, then an anonymous bind is attempated
 # If LDAP_BIND_DN is not specified, or is blank, then an anonymous bind is attempated
 LDAP_BIND_DN = ""
 LDAP_BIND_DN = ""
 LDAP_BIND_PASSWORD = ""
 LDAP_BIND_PASSWORD = ""
 # Starting point within LDAP structure to search for login user
 # Starting point within LDAP structure to search for login user
-LDAP_SEARCH_BASE = "OU=DevTeam,DC=example,DC=net"
+LDAP_SEARCH_BASE = "##LDAP_USERS_BASE_DN##"
 # LDAP property used for searching, ie. login username needs to match value in sAMAccountName property in LDAP
 # LDAP property used for searching, ie. login username needs to match value in sAMAccountName property in LDAP
 LDAP_SEARCH_PROPERTY = "sAMAccountName"
 LDAP_SEARCH_PROPERTY = "sAMAccountName"
 LDAP_SEARCH_SUFFIX = None # '@example.com'
 LDAP_SEARCH_SUFFIX = None # '@example.com'

+ 1 - 1
nginx.conf

@@ -49,7 +49,7 @@ http {
     server {
     server {
         listen 8000;
         listen 8000;
 
 
-        server_name ##HOSTNAME##;
+        server_name ##APP_DOMAIN##;
 
 
         large_client_header_buffers 4 32k;
         large_client_header_buffers 4 32k;
         client_max_body_size 50M;
         client_max_body_size 50M;

+ 20 - 34
start.sh

@@ -5,46 +5,38 @@
 echo "========= Start ========="
 echo "========= Start ========="
 
 
 echo "--> local.py"
 echo "--> local.py"
-# toplevel variables
-sed -e "s/MEDIA_URL = \".*\"/MEDIA_URL = \"https:\/\/${HOSTNAME}\/media\/\"/" \
-    -e "s/STATIC_URL = \".*\"/STATIC_URL = \"https:\/\/${HOSTNAME}\/static\/\"/" \
-    -e "s/ADMIN_MEDIA_PREFIX = \".*\"/ADMIN_MEDIA_PREFIX = \"https:\/\/${HOSTNAME}\/static\/admin\/\"/" \
-    -e "s/SITES\[\"front\"\]\[\"scheme\"\] = \".*\"/SITES\[\"front\"\]\[\"scheme\"\] = \"https\"/" \
-    -e "s/SITES\[\"front\"\]\[\"domain\"\] = \".*\"/SITES\[\"front\"\]\[\"domain\"\] = \"${HOSTNAME}\"/" \
-    -e "s/EMAIL_HOST = \".*\"/EMAIL_HOST = \"${MAIL_SMTP_SERVER}\"/" \
-    -e "s/EMAIL_PORT = \".*\"/EMAIL_PORT = \"${MAIL_SMTP_PORT}\"/" \
-    -e "s/EMAIL_HOST_USER = \".*\"/EMAIL_HOST_USER = \"${MAIL_SMTP_USERNAME}\"/" \
-    -e "s/LDAP_SERVER = \".*\"/LDAP_SERVER = \"ldap:\/\/${LDAP_SERVER}\"/" \
-    -e "s/LDAP_PORT = .*/LDAP_PORT = ${LDAP_PORT}/" \
-    -e "s/LDAP_SEARCH_BASE = \".*\"/LDAP_SEARCH_BASE = \"${LDAP_USERS_BASE_DN}\"/" \
-    -e "s/\"NAME\": \".*\",/\"NAME\": \"${POSTGRESQL_DATABASE}\",/" \
-    -e "s/\"USER\": \".*\",/\"USER\": \"${POSTGRESQL_USERNAME}\",/" \
-    -e "s/\"PASSWORD\": \".*\",/\"PASSWORD\": \"${POSTGRESQL_PASSWORD}\",/" \
-    -e "s/\"HOST\": \".*\",/\"HOST\": \"${POSTGRESQL_HOST}\",/" \
-    -e "s/\"PORT\": \".*\",/\"PORT\": \"${POSTGRESQL_PORT}\",/" \
+sed -e "s/##APP_DOMAIN##/${APP_DOMAIN}/" \
+    -e "s/##MAIL_DOMAIN##/${MAIL_DOMAIN}/" \
+    -e "s/##MAIL_SMTP_SERVER##/${MAIL_SMTP_SERVER}/" \
+    -e "s/##MAIL_SMTP_PORT##/${MAIL_SMTP_PORT}/" \
+    -e "s/##MAIL_SMTP_USERNAME##/${MAIL_SMTP_USERNAME}/" \
+    -e "s/##LDAP_SERVER##/${LDAP_SERVER}/" \
+    -e "s/##LDAP_PORT##/${LDAP_PORT}/" \
+    -e "s/##LDAP_USERS_BASE_DN##/${LDAP_USERS_BASE_DN}/" \
+    -e "s/##POSTGRESQL_DATABASE##/${POSTGRESQL_DATABASE}/" \
+    -e "s/##POSTGRESQL_USERNAME##/${POSTGRESQL_USERNAME}/" \
+    -e "s/##POSTGRESQL_PASSWORD##/${POSTGRESQL_PASSWORD}/" \
+    -e "s/##POSTGRESQL_HOST##/${POSTGRESQL_HOST}/" \
+    -e "s/##POSTGRESQL_PORT##/${POSTGRESQL_PORT}/" \
     /app/code/local.py  > /run/local.py
     /app/code/local.py  > /run/local.py
 
 
 echo "--> Update conf.json"
 echo "--> Update conf.json"
-sed -e "s/\"api\": \".*\",/\"api\": \"https:\/\/${APP_DOMAIN}\/api\/v1\/\",/" \
-    -e "s/\"eventsUrl\": \".*\",/\"eventsUrl\": \"wss:\/\/${APP_DOMAIN}\/events\",/" \
-    /app/code/conf.json > /run/conf.json
+sed -e "s/##APP_DOMAIN##/${APP_DOMAIN}/" /app/code/conf.json > /run/conf.json
 
 
 echo "--> Update nginx.conf"
 echo "--> Update nginx.conf"
-sed -e "s,##HOSTNAME##,${APP_DOMAIN}," \
-    /app/code/nginx.conf  > /run/nginx.conf
+sed -e "s,##APP_DOMAIN##,${APP_DOMAIN}," /app/code/nginx.conf  > /run/nginx.conf
 
 
 echo "--> Setup taiga virtual env"
 echo "--> Setup taiga virtual env"
 cd /app/code
 cd /app/code
 source /app/code/taiga/bin/activate
 source /app/code/taiga/bin/activate
 
 
+echo "--> Create taiga-back copy to work with"
+cp -rf /app/code/taiga-back /run/taiga-back
+
 echo "--> Run migration scripts"
 echo "--> Run migration scripts"
-cd /app/code/taiga-back
+cd /run/taiga-back
 python manage.py migrate --noinput
 python manage.py migrate --noinput
-# python manage.py loaddata initial_user
 python manage.py loaddata initial_project_templates
 python manage.py loaddata initial_project_templates
-# python manage.py loaddata initial_role
-
-cd /app/code
 
 
 echo "--> Make cloudron own /run"
 echo "--> Make cloudron own /run"
 chown -R cloudron:cloudron /run
 chown -R cloudron:cloudron /run
@@ -54,15 +46,9 @@ nginx -c /run/nginx.conf &
 
 
 echo "--> Start taiga-back"
 echo "--> Start taiga-back"
 PATH=/app/code/taiga/bin:$PATH
 PATH=/app/code/taiga/bin:$PATH
-TERM=rxvt-256color
-
-SHELL=/bin/bash
-USER=root
-LANG=en_US.UTF-8
 HOME=/app/code
 HOME=/app/code
 PYTHONPATH=/app/code/taiga/lib/python3.4/site-packages
 PYTHONPATH=/app/code/taiga/lib/python3.4/site-packages
 
 
-cd /app/code/taiga-back
+cd /run/taiga-back
 
 
 exec /usr/local/bin/gosu cloudron:cloudron gunicorn -w 1 -t 60 --pythonpath=. -b 127.0.0.1:8001 taiga.wsgi
 exec /usr/local/bin/gosu cloudron:cloudron gunicorn -w 1 -t 60 --pythonpath=. -b 127.0.0.1:8001 taiga.wsgi
-# taiga/bin/circusd /app/code/circus.ini