From bf753d0414d5144e6eec739c6323723a23c976f9 Mon Sep 17 00:00:00 2001 From: msbt Date: Thu, 29 Mar 2018 16:36:03 +0200 Subject: [PATCH] Fixed nginx crashes and Email --- CHANGELOG | 4 ++++ Dockerfile | 7 +++---- start_matrix.sh | 41 ++++++++++++++++++++++++----------------- 3 files changed, 31 insertions(+), 21 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 7bdfed9..62622cd 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +[0.1.4] +* Changed log location of synapse due to backup crashes +* Updated some configs + [0.1.3] * Changed log location of nginx due to backup crashes diff --git a/Dockerfile b/Dockerfile index 814a769..3762698 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,17 +2,16 @@ FROM cloudron/base:0.10.0 MAINTAINER Authors name RUN mkdir -p /app/code -RUN mkdir -p /app/data RUN mkdir -p /app/data/templates WORKDIR /app/code EXPOSE 8000 -# Nginx +# nginx RUN rm /etc/nginx/sites-enabled/* ADD nginx_matrix.conf /etc/nginx/sites-enabled/ -RUN rm -rf /var/lib/nginx && ln -sf /app/data/nginx /var/lib/nginx +RUN mv /var/lib/nginx /app/data/nginx && ln -sf /app/data/nginx /var/lib/nginx RUN rm -rf /var/log/nginx && ln -sf /run/nginx_log /var/log/nginx # TURN @@ -40,7 +39,7 @@ RUN pip install https://github.com/matrix-org/synapse/tarball/master # copy index.html COPY index.html /app/code -RUN chown -R www-data.www-data /app/code +RUN chown -R www-data.www-data /app/code /app/data ADD start_matrix.sh /app/ diff --git a/start_matrix.sh b/start_matrix.sh index b717312..80fd0f6 100755 --- a/start_matrix.sh +++ b/start_matrix.sh @@ -5,27 +5,35 @@ set -eux if [[ ! -d /app/data/synapse ]]; then echo "=> Detected first run" + # create dirs (for whatever reason the nginx dir couldn't get created by nginx) + mkdir -p /app/data/synapse \ + /app/data/nginx/fastcgi \ + /run/nginx_log \ + /run/synapse \ + /run/turn_log + + # fix permissions + chown -R www-data.www-data /run/synapse \ + /run/turn_log \ + /app/data + # copy turn config cp /usr/share/coturn/examples/etc/turnserver.conf /app/data/turnserver.conf # copy email templates for matrix cp -r /app/code/synapse/res/templates /app/data/templates - #set default TURN listening port + # set default TURN listening port if [ -z ${TURN_TLS_PORT+x} ]; then TURN_TLS_PORT="5349"; else echo "TURN_TLS_PORT is set to '$TURN_TLS_PORT'"; fi mkdir -p /app/data/synapse cd /app/data/synapse python -m synapse.app.homeserver \ - --server-name ${APP_DOMAIN#*.} \ + --server-name ${APP_DOMAIN} \ --config-path homeserver.yaml \ --report-stats=no \ --generate-config -# python -m sydent.sydent \ -# --config-path sydent.yaml \ -# --generate-config - # synapse config sed -i "s/server_name:.*/server_name: ${APP_DOMAIN}/" homeserver.yaml sed -i "s/web_client:.*/web_client: False/" homeserver.yaml @@ -54,7 +62,11 @@ if [[ ! -d /app/data/synapse ]]; then sed -i "s/enable_group_creation:.*/enable_group_creation: True/" homeserver.yaml sed -i "s/#user_directory:/user_directory:/" homeserver.yaml sed -i "s/# search_all_users:.*/ search_all_users: True/" homeserver.yaml - sed -i "s/log_file: .*/log_file: \"\/app\/data\/synapse\/homeserver.log\"/" homeserver.yaml + + # get synapse log name and set path + LOG_CONFIG=$(ls *.log.config) + sed -i "s/log_file: .*/log_file: \"\/run\/synapse\/homeserver.log\"/" homeserver.yaml + sed -i "s/ filename:.*/ filename: \/run\/synapse\/homeserver.log/" ${LOG_CONFIG} # coturn @@ -68,7 +80,7 @@ if [[ ! -d /app/data/synapse ]]; then sed -i "s/turn_uris: .*/turn_uris: [\"turn:${APP_DOMAIN}:${TURN_TLS_PORT}?transport=udp\", \"turn:${APP_DOMAIN}:${TURN_TLS_PORT}?transport=tcp\"]/" homeserver.yaml sed -i "s/turn_shared_secret: .*/turn_shared_secret: \"${TURNPWD}\"/" homeserver.yaml sed -i "s/#cipher-list=.*/cipher-list=\"HIGH\"/" /app/data/turnserver.conf - sed -i "s/#log-file=.*/log-file=\/run\/\/turn_log\/turn.log/" /app/data/turnserver.conf + sed -i "s/#log-file=.*/log-file=\/run\/turn_log\/turn.log/" /app/data/turnserver.conf # get cert names from synapse @@ -82,10 +94,10 @@ if [[ ! -d /app/data/synapse ]]; then # set up email sed -i 's/#email:/email:/' homeserver.yaml sed -i 's/# enable_notifs: false/ enable_notifs: false/' homeserver.yaml - sed -i "s/# smtp_host: "localhost"/ smtp_host: \"${MAIL_SMTP_SERVER}\"/" homeserver.yaml - sed -i "s/# smtp_port: 25/ smtp_port: ${MAIL_SMTP_PORT}/" homeserver.yaml - sed -i "s/# smtp_user: "exampleusername"/ smtp_user: \"${MAIL_SMTP_USERNAME}\"/" homeserver.yaml - sed -i "s/# smtp_pass: "examplepassword"/ smtp_pass: \"${MAIL_SMTP_PASSWORD}\"/" homeserver.yaml + sed -i 's/# smtp_host: \"localhost\"/ smtp_host: \"${MAIL_SMTP_SERVER}\"/' homeserver.yaml + sed -i 's/# smtp_port: .*/ smtp_port: ${MAIL_SMTP_PORT}/' homeserver.yaml + sed -i 's/# smtp_user: \"exampleusername\"/ smtp_user: \"${MAIL_SMTP_USERNAME}\"/' homeserver.yaml + sed -i 's/# smtp_pass: \"examplepassword\"/ smtp_pass: \"${MAIL_SMTP_PASSWORD}\"/' homeserver.yaml sed -i 's/# require_transport_security: False/ require_transport_security: True/' homeserver.yaml sed -i "s/# notif_from: .*/ notif_from: \"Your Friendly Matrix Home Server <${MAIL_FROM}>\"/" homeserver.yaml sed -i 's/# app_name: Matrix/ app_name: Matrix/' homeserver.yaml @@ -96,11 +108,6 @@ if [[ ! -d /app/data/synapse ]]; then fi - -mkdir -p /run/nginx -mkdir -p /run/nginx_log -mkdir -p /run/turn_log - chown -R www-data.www-data /app/data cd /app/data/synapse