From 023c66e22d65f14f6c838df4f646300f175f4f02 Mon Sep 17 00:00:00 2001 From: mt Date: Wed, 26 Sep 2018 12:35:50 +0200 Subject: [PATCH 1/4] Update nginx-example.conf Add rewrite statement --- contrib/nginx-example.conf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/contrib/nginx-example.conf b/contrib/nginx-example.conf index 225f2c2..8459893 100644 --- a/contrib/nginx-example.conf +++ b/contrib/nginx-example.conf @@ -1,7 +1,10 @@ # Include this snippet in your nginx config. # Make sure to preserve the trailing slashes if you change the location. +# Use this if you want to serve uploads from a subdirectory. The break statement +# is needed to remove the subdirectory when making the upstream request. location /upload/ { + rewrite ^/upload/(.*) /$1 break; proxy_pass http://localhost:5000/; client_max_body_size 100M; } From 22e8c59f2f0f8c8dba17c81a242273ecddf2c333 Mon Sep 17 00:00:00 2001 From: mt Date: Wed, 26 Sep 2018 12:37:12 +0200 Subject: [PATCH 2/4] Add uwsgi examples, fixes #3 Add uwsgi ini and nginx config --- contrib/nginx-example-uwsgi.conf | 12 ++++++++++++ contrib/xmpp-http-upload.ini | 19 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 contrib/nginx-example-uwsgi.conf create mode 100644 contrib/xmpp-http-upload.ini diff --git a/contrib/nginx-example-uwsgi.conf b/contrib/nginx-example-uwsgi.conf new file mode 100644 index 0000000..20a4a27 --- /dev/null +++ b/contrib/nginx-example-uwsgi.conf @@ -0,0 +1,12 @@ +# Include this snippet in your nginx config. +# Make sure to preserve the trailing slashes if you change the location. +# Use this if you want to serve uploads from a subdirectory. The break statement +# is needed to remove the subdirectory when making the upstream request. + +location /upload/ { + rewrite ^/upload/(.*) /$1 break; + include uwsgi_params; + uwsgi_pass uwsgi://localhost:9002; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + client_max_body_size 100M; +} diff --git a/contrib/xmpp-http-upload.ini b/contrib/xmpp-http-upload.ini new file mode 100644 index 0000000..825129d --- /dev/null +++ b/contrib/xmpp-http-upload.ini @@ -0,0 +1,19 @@ +# Example ini for uwsgi usage. Adapt uid/gid to whatever user your webserver uses. +# This must also align with your directory permissions. +# env must point to your xhu config file. + +[uwsgi] +socket = 0.0.0.0:9002 +processes = 5 +threads = 1 +auto-procname = true +procname-prefix-spaced = [xmpp-http-upload] +uid = www-data +gid = www-data +need-plugin = python3 +chdir = /opt/xmpp-http-upload/ +pythonpath = /opt/xmpp-http-upload/ +wsgi-file = /opt/xmpp-http-upload/xhu.py +enable-threads = true +offload-threads = 10 +env = XMPP_HTTP_UPLOAD_CONFIG=/opt/xmpp-http-upload/config.yml From ac0ac7c33b2bbd7271373ba3463afd5857f99a95 Mon Sep 17 00:00:00 2001 From: mt Date: Wed, 26 Sep 2018 12:38:20 +0200 Subject: [PATCH 3/4] Update systemd unit, fixes #6 Switch to /usr/local/bin --- contrib/xmpp-http-upload.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/xmpp-http-upload.service b/contrib/xmpp-http-upload.service index 47b5f31..74f8ccb 100644 --- a/contrib/xmpp-http-upload.service +++ b/contrib/xmpp-http-upload.service @@ -9,7 +9,7 @@ Group=www-data Environment=FLASK_APP=/opt/xmpp-http-upload/xhu.py Environment=XMPP_HTTP_UPLOAD_CONFIG=/opt/xmpp-http-upload/config.py -ExecStart=/usr/bin/flask run +ExecStart=/usr/local/bin/flask run Restart=on-failure RestartSec=10 From e5d88ca8c0048f3675874bf0aed109de38139b87 Mon Sep 17 00:00:00 2001 From: mt Date: Wed, 26 Sep 2018 12:40:26 +0200 Subject: [PATCH 4/4] Update Readme swap package installation for pip install instructions --- README.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 3365417..ae9044c 100644 --- a/README.rst +++ b/README.rst @@ -69,7 +69,8 @@ Clone and install:: sudo mv xmpp-http-upload /opt/xmpp-http-upload cd /opt/xmpp-http-upload copy config.example.py config.py - sudo apt-get install python3-flask + sudo apt-get install python3-pip + sudo python3 -m pip install --upgrade flask-cors Edit ``config.py`` and change ``SECRET_KEY``. Be sure to only change between ``''``. @@ -87,4 +88,4 @@ Enable systemd service:: Configure your webserver: As final step you need to point your external webserver to your xmpp-http-upload flask app. -Check the ``contrib`` directory, there is an example for nginx there. \ No newline at end of file +Check the ``contrib`` directory, there is an example for nginx there.