From c96b1999322836bb81a89699a61f4853c1cd241d Mon Sep 17 00:00:00 2001 From: voje Date: Sat, 4 May 2019 18:12:05 +0200 Subject: [PATCH] css fix, preparing prod --- Dockerfile-backend-flask | 2 -- Makefile | 5 ++- dockerfiles/python-env/Dockerfile | 3 +- nginx.conf | 9 ++++++ production.yaml | 43 +++++++++++++++++++++++++ src/backend_flask/Makefile | 2 +- src/backend_flask/app.py | 11 +++---- src/backend_flask/entrypoint.sh | 3 +- src/frontend_vue/ops_scripts/prod.sh | 2 +- src/frontend_vue/package-lock.json | 41 +++++++---------------- src/frontend_vue/src/components/Nav.vue | 4 +-- 11 files changed, 79 insertions(+), 46 deletions(-) create mode 100644 nginx.conf create mode 100644 production.yaml diff --git a/Dockerfile-backend-flask b/Dockerfile-backend-flask index fe9349b..eb756f3 100644 --- a/Dockerfile-backend-flask +++ b/Dockerfile-backend-flask @@ -1,7 +1,5 @@ FROM cjvt-python-env -RUN pip3 install gunicorn - RUN mkdir -p /project/src/backend_flask RUN mkdir -p /project/src/pkg RUN mkdir -p /project/data diff --git a/Makefile b/Makefile index 2e74b6e..6dead1b 100644 --- a/Makefile +++ b/Makefile @@ -105,6 +105,9 @@ frontend-dev: frontend-prod: cd src/frontend_vue/; $(MAKE) prod +frontend-build-prod: + cd src/frontend_vue/; $(MAKE) build-prod + ## Backend @@ -131,7 +134,7 @@ backend-prod-old: --appindex-json $(APPINDEX_PATH) backend-prod: - cd ./src/backend_flask; $(MAKE) prod + cd ./src/backend_flask; $(MAKE) run ## add sskj senses to db (generated with pkg/seqparser) sskj-senses: diff --git a/dockerfiles/python-env/Dockerfile b/dockerfiles/python-env/Dockerfile index 0249115..9d82cb6 100644 --- a/dockerfiles/python-env/Dockerfile +++ b/dockerfiles/python-env/Dockerfile @@ -20,6 +20,7 @@ RUN pip3 install \ flask \ flask_cors \ pymongo \ - flask-pymongo + flask-pymongo \ + gunicorn ENV PYTHONIOENCODING UTF-8 diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..c5793bf --- /dev/null +++ b/nginx.conf @@ -0,0 +1,9 @@ +server { + listen 80; + server_name _; + + location / { + root /frontend_fue/dist; + index index.html index.htm; + } +} \ No newline at end of file diff --git a/production.yaml b/production.yaml new file mode 100644 index 0000000..978f882 --- /dev/null +++ b/production.yaml @@ -0,0 +1,43 @@ +version: '3.1' + +services: + + my_mongo: + image: my-mongo + restart: always + # ports: + # - 27017:27017 + expose: 27017 + environment: + MONGO_INITDB_ROOT_USERNAME: ${DB_ADM_USER} + MONGO_INITDB_ROOT_PASSWORD: ${DB_ADM_PASS} + volumes: + - ${HOME}/mongo_container/data/:/data/db + network: backend + + mongo_express: + image: mongo-express + restart: always + # ports: + # - 8087:8081 + environment: + ME_CONFIG_BASICAUTH_USERNAME: ${MONGOEXPRESS_USER} + ME_CONFIG_BASICAUTH_PASSWORD: ${MONGOEXPRESS_PASS} + ME_CONFIG_MONGODB_ADMINUSERNAME: ${DB_ADM_USER} + ME_CONFIG_MONGODB_ADMINPASSWORD: ${DB_ADM_PASS} + ME_CONFIG_MONGODB_SERVER: my-mongo + network: backend + +# backend_flask: +# image: backend-flask +# network: backend +# expose: 8084 + + proxy: + image: nginx + ports: + - 80:80 + - 8084:8084 + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf + - ./src/frontend_vue/dist:/frontend_vue/dist diff --git a/src/backend_flask/Makefile b/src/backend_flask/Makefile index d1a5da9..ee93d2e 100644 --- a/src/backend_flask/Makefile +++ b/src/backend_flask/Makefile @@ -13,4 +13,4 @@ build: build-cjvt-python-env cd ../..; docker build . -f Dockerfile-backend-flask -t $(IMG) build-cjvt-python-env: - cd ../../dockerfiles/python-env; $(MAKE) build \ No newline at end of file + cd ../../dockerfiles/python-env; $(MAKE) build diff --git a/src/backend_flask/app.py b/src/backend_flask/app.py index 36f5513..ff71517 100644 --- a/src/backend_flask/app.py +++ b/src/backend_flask/app.py @@ -500,18 +500,15 @@ def prepare_app_index(appindex_json, sskj_wordlist): def init_wsgi(app): + print("Initiating wsgi") config = None with Path("/project/prod_conf.yaml").open("r") as fp: config = list(yaml.safe_load_all(fp))[0] app.debug = False logfile = config["logfile"] - if app.debug: - logging.basicConfig(stream=sys.stdout, level=logging.DEBUG) - else: - logging.basicConfig(filename=logfile, level=logging.INFO) + logging.basicConfig(filename=logfile, level=logging.INFO) - # db login # app index from db with Path(config["appindex"]).open("r") as fp: # a dirty hack but ok @@ -522,8 +519,8 @@ def init_wsgi(app): # if we don't pass arguments, assume production environment (gunicorn) -if len(sys.argv) == 1: - init_wsgi() +if "gunicorn" in sys.argv[0]: + init_wsgi(app) if __name__ == "__main__": diff --git a/src/backend_flask/entrypoint.sh b/src/backend_flask/entrypoint.sh index b924e73..0017d6e 100755 --- a/src/backend_flask/entrypoint.sh +++ b/src/backend_flask/entrypoint.sh @@ -4,4 +4,5 @@ pip3 install -e /project/src/pkg/cjvt-corpusparser/. pip3 install -e /project/src/pkg/valency/. pip3 install -e /project/src/pkg/seqparser/. -sleep 10000 +cd /project/src/backend_flask +gunicorn -t 2 -b 127.0.0.1:8084 app:app diff --git a/src/frontend_vue/ops_scripts/prod.sh b/src/frontend_vue/ops_scripts/prod.sh index 35fdd74..281eb8d 100755 --- a/src/frontend_vue/ops_scripts/prod.sh +++ b/src/frontend_vue/ops_scripts/prod.sh @@ -4,4 +4,4 @@ cp ./config/config_prod.json ./config/config.json npm install npm run build -# http-server /src/dist +http-server /src/dist diff --git a/src/frontend_vue/package-lock.json b/src/frontend_vue/package-lock.json index 90fecbe..fbad9d4 100644 --- a/src/frontend_vue/package-lock.json +++ b/src/frontend_vue/package-lock.json @@ -3492,8 +3492,7 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.2.0", @@ -3514,14 +3513,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3536,20 +3533,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -3666,8 +3660,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -3679,7 +3672,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -3694,7 +3686,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -3702,14 +3693,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -3728,7 +3717,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -3809,8 +3797,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -3822,7 +3809,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -3908,8 +3894,7 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -3945,7 +3930,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -3965,7 +3949,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -4009,14 +3992,12 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true } } }, diff --git a/src/frontend_vue/src/components/Nav.vue b/src/frontend_vue/src/components/Nav.vue index 8907b31..1a93cf0 100644 --- a/src/frontend_vue/src/components/Nav.vue +++ b/src/frontend_vue/src/components/Nav.vue @@ -1,6 +1,6 @@