From b82201deedc531bdbc2e40a77b9090734f31e296 Mon Sep 17 00:00:00 2001
From: furion <_@furion.me>
Date: Wed, 26 Apr 2017 01:04:12 +0200
Subject: [PATCH] fix #1, service boilerplate

---
 Dockerfile       | 77 ++++++++++++++++++++++++++++++++++++++++++------
 server/server.py |  6 ++++
 service/web/run  | 11 +++++++
 3 files changed, 85 insertions(+), 9 deletions(-)
 create mode 100644 server/server.py
 create mode 100644 service/web/run

diff --git a/Dockerfile b/Dockerfile
index bc8a2db61..0d1a8b4fd 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,13 +1,72 @@
-FROM python:3.5.3
-MAINTAINER furion <furion@steemit.com>
+FROM phusion/baseimage:0.9.19
 
-COPY . /src
-WORKDIR /src
+#ENV MYSQL_URL mysql://
+ENV ENVIRONMENT DEV
+ENV LOG_LEVEL INFO
+ENV LANG en_US.UTF-8
+ENV LC_ALL en_US.UTF-8
+ENV APP_ROOT /app
+ENV WSGI_APP ${APP_ROOT}/hive/server/serve.py
+ENV HTTP_SERVER_PORT 8080
 
-RUN pip install ipython
-#RUN pip install -r dev-requirements.txt
-RUN pip install -e .
+RUN \
+    apt-get update && \
+    apt-get install -y \
+        build-essential \
+        daemontools \
+        git \
+        libffi-dev \
+        libmysqlclient-dev \
+        libssl-dev \
+        make \
+        python3 \
+        python3-dev \
+        python3-pip \
+        libxml2-dev \
+        libxslt-dev \
+        runit \
+        nginx
 
-EXPOSE 5000
 
-#CMD ["python", "app.py"]
\ No newline at end of file
+RUN \
+  mkdir -p /var/lib/nginx/body && \
+  mkdir -p /var/lib/nginx/scgi && \
+  mkdir -p /var/lib/nginx/uwsgi && \
+  mkdir -p /var/lib/nginx/fastcgi && \
+  mkdir -p /var/lib/nginx/proxy && \
+  chown -R www-data:www-data /var/lib/nginx && \
+  mkdir -p /var/log/nginx && \
+  touch /var/log/nginx/access.log && \
+  touch /var/log/nginx/error.log && \
+  chown www-data:www-data /var/log/nginx/*.log && \
+  touch /var/run/nginx.pid && \
+  chown www-data:www-data /var/run/nginx.pid
+
+ADD . /app
+
+RUN \
+    mv /app/service/* /etc/service && \
+    chmod +x /etc/service/*/run
+
+WORKDIR /app
+
+RUN \
+    pip3 install --upgrade pip && \
+    pip3 install pipenv && \
+	  pipenv lock && \
+	  pipenv install --three --dev && \
+    apt-get remove -y \
+        build-essential \
+        libffi-dev \
+        libssl-dev && \
+    apt-get autoremove -y && \
+    rm -rf \
+        /root/.cache \
+        /var/lib/apt/lists/* \
+        /tmp/* \
+        /var/tmp/* \
+        /var/cache/* \
+        /usr/include \
+        /usr/local/include
+
+EXPOSE ${HTTP_SERVER_PORT}
\ No newline at end of file
diff --git a/server/server.py b/server/server.py
new file mode 100644
index 000000000..09ad2b555
--- /dev/null
+++ b/server/server.py
@@ -0,0 +1,6 @@
+def create_app():
+    pass
+
+
+if __name__ == '__main__':
+    pass
diff --git a/service/web/run b/service/web/run
new file mode 100644
index 000000000..f7aed0c85
--- /dev/null
+++ b/service/web/run
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+
+exec setuidgid nobody uwsgi \
+ --master \
+ --http :"${HTTP_SERVER_PORT}" \
+ --wsgi-file "${WSGI_APP}" \
+ --processes "${HTTP_SERVER_PROCESSES:-8}" \
+ --threads "${HTTP_SERVER_THREADS:-1}" \
+ --stats 0.0.0.0:"${HTTP_SERVER_STATS_PORT}" \
+ --stats-http
\ No newline at end of file
-- 
GitLab