diff --git a/README.md b/README.md
index ba4eb11e8..edddaef82 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,7 @@ pip install -r requirements.txt
running:
```
-sudo nginx -c `pwd`/nginx.conf
+sudo mkdir -p /mnt/nginx/ && sudo nginx -c `pwd`/nginx.conf
STACK=prod gunicorn -D --workers 4 -b unix:/tmp/gunicorn.sock --worker-class gevent -t 2000 application:application
```
diff --git a/data/model.py b/data/model.py
index 629d06700..ddfa74417 100644
--- a/data/model.py
+++ b/data/model.py
@@ -327,8 +327,11 @@ def create_confirm_email_code(user):
def confirm_user_email(code):
- code = EmailConfirmation.get(EmailConfirmation.code == code,
- EmailConfirmation.email_confirm == True)
+ try:
+ code = EmailConfirmation.get(EmailConfirmation.code == code,
+ EmailConfirmation.email_confirm == True)
+ except EmailConfirmation.DoesNotExist:
+ raise DataModelException('Invalid email confirmation code.')
user = code.user
user.verified = True
@@ -544,7 +547,7 @@ def get_visible_repositories(username=None, include_public=True, limit=None,
where_clause = new_clause
if limit:
- query.limit(limit)
+ query = query.limit(limit)
return query.where(where_clause)
diff --git a/endpoints/web.py b/endpoints/web.py
index 347969268..22fb279a1 100644
--- a/endpoints/web.py
+++ b/endpoints/web.py
@@ -226,7 +226,11 @@ def github_oauth_callback():
@app.route('/confirm', methods=['GET'])
def confirm_email():
code = request.values['code']
- user = model.confirm_user_email(code)
+
+ try:
+ user = model.confirm_user_email(code)
+ except model.DataModelException as ex:
+ return redirect(url_for('signin'))
common_login(user)
diff --git a/nginx-staging.conf b/nginx-staging.conf
index 68e88b274..252d9d21d 100644
--- a/nginx-staging.conf
+++ b/nginx-staging.conf
@@ -1,8 +1,8 @@
worker_processes 1;
user root nogroup;
-pid /tmp/nginx.pid;
-error_log /tmp/nginx.error.log;
+pid /mnt/nginx/nginx.pid;
+error_log /mnt/nginx/nginx.error.log;
events {
worker_connections 1024;
@@ -14,7 +14,7 @@ http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
- access_log /tmp/nginx.access.log combined;
+ access_log /mnt/nginx/nginx.access.log combined;
sendfile on;
root /root/quay/;
@@ -43,6 +43,7 @@ http {
server {
listen 443 default;
client_max_body_size 8G;
+ client_body_temp_path /mnt/nginx/client_body 1 2;
server_name _;
keepalive_timeout 5;
@@ -73,6 +74,7 @@ http {
proxy_pass http://app_server;
proxy_read_timeout 2000;
+ proxy_temp_path /mnt/nginx/proxy_temp 1 2;
}
}
}
diff --git a/nginx.conf b/nginx.conf
index 536e09303..a9d460f81 100644
--- a/nginx.conf
+++ b/nginx.conf
@@ -41,6 +41,7 @@ http {
server {
listen 443 default;
client_max_body_size 8G;
+ client_body_temp_path /mnt/nginx/client_body 1 2;
server_name _;
keepalive_timeout 5;
@@ -71,6 +72,7 @@ http {
proxy_pass http://app_server;
proxy_read_timeout 2000;
+ proxy_temp_path /mnt/nginx/proxy_temp 1 2;
}
}
}
\ No newline at end of file
diff --git a/templates/base.html b/templates/base.html
index de2578ce7..8940e9d33 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -123,6 +123,7 @@ var isProd = document.location.hostname === 'quay.io';
+ {% if request.host == 'quay.io' %}
+ {% endif %}