dockerfile
authorTero Marttila <terom@qmsk.net>
Mon, 03 Jul 2017 22:42:48 +0300
changeset 252 9ba399a7cff3
parent 251 f59ab9a1d760
child 253 5886ca11cae4
dockerfile
.dockerignore
Dockerfile
docker/production.py
docker/uwsgi.ini
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.dockerignore	Mon Jul 03 22:42:48 2017 +0300
@@ -0,0 +1,5 @@
+pages/
+pages-static/
+
+.env
+opt/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Dockerfile	Mon Jul 03 22:42:48 2017 +0300
@@ -0,0 +1,32 @@
+FROM debian:stretch
+
+RUN apt-get update && apt-get install -y \
+  python python-pip \
+  uwsgi uwsgi-plugin-python
+
+RUN adduser --system --uid 1000 --home /srv/qmsk-www --group qmsk-www
+
+RUN install -d /srv/qmsk-www
+ADD requirements.txt /srv/qmsk-www
+RUN pip install -r /srv/qmsk-www/requirements.txt
+
+RUN install -d /srv/qmsk-www/etc /srv/qmsk-www/var
+ADD . /srv/qmsk-www
+
+WORKDIR /srv/qmsk-www
+
+RUN python ./manage.py collectstatic --noinput
+
+RUN ln -s /srv/qmsk-www/docker/production.py /srv/qmsk-www/qmsk_www/settings/production.py
+
+USER qmsk-www
+CMD uwsgi --ini /srv/qmsk-www/docker/uwsgi.ini --http-socket :9090
+EXPOSE 9090/tcp
+
+VOLUME /srv/qmsk-www-pages
+
+ENV \
+  QMSK_WWW_SERVER_NAME= \
+  QMSK_WWW_SERVER_ALIAS= \
+  QMSK_WWW_SECRET= \
+  QMSK_WWW_PAGES_PATH=/srv/qmsk-www-pages
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/production.py	Mon Jul 03 22:42:48 2017 +0300
@@ -0,0 +1,48 @@
+"""
+    Production settings for qmsk_www
+"""
+
+import os
+
+DEBUG = False
+
+ALLOWED_HOSTS = [
+  os.environ['QMSK_WWW_SERVER_NAME'],
+] + os.environ.get('QMSK_WWW_SERVER_ALIAS').split()
+
+SECRET_KEY = os.environ['QMSK_WWW_SECRET']
+
+## qmsk.pages
+QMSK_PAGES_DIR = os.environ['QMSK_WWW_PAGES_PATH']
+
+## logging
+LOGGING = {
+    'version': 1,
+    'disable_existing_loggers': True,
+    'handlers': {
+        'console': {
+          'level': 'INFO',
+          'class': 'logging.StreamHandler',
+        },
+        'mail_admins': {
+            'level': 'ERROR',
+            'class': 'django.utils.log.AdminEmailHandler'
+        }
+    },
+    'loggers': {
+        'django.request': {
+            'handlers': [ 'console' ],
+            'level': 'INFO',
+            'propagate': False,
+        },
+        'django.security': {
+            'handlers': [ 'console' ],
+            'level': 'INFO',
+            'propagate': False,
+        },
+        'qmsk_www_pages': {
+            'handlers': [ 'console' ],
+            'level': 'INFO',
+        },
+    },
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/uwsgi.ini	Mon Jul 03 22:42:48 2017 +0300
@@ -0,0 +1,4 @@
+[uwsgi]
+plugin = python
+wsgi-file = /srv/qmsk-www/qmsk_www/wsgi.py
+static-map = /static=/srv/qmsk-www/var/static