From d31d9163f0f4c33d699b7cd6c52f28fcbcb90407 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrej=20Rama=C5=A1euski?= <andrej@x2.cz> Date: Tue, 5 Jul 2022 13:56:52 +0200 Subject: [PATCH] Preparing to production --- .dockerignore | 3 +++ .gitignore | 1 + .gitlab-ci.yml | 27 ++++++++------------------- Dockerfile | 4 ---- Dockerfile.nginx | 3 --- VERSION | 1 + docker-compose.yml | 28 +++++----------------------- nginx.conf | 23 ----------------------- 8 files changed, 18 insertions(+), 72 deletions(-) create mode 100644 .dockerignore create mode 100644 .gitignore delete mode 100644 Dockerfile.nginx create mode 100644 VERSION delete mode 100644 nginx.conf diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..26c28ef --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +** +!measurer +!run.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..35f78b1 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +docker-compose.yaml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f92d2c5..6e89260 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,30 +1,19 @@ -stages: - - build - -image: docker:20.10.8 +image: docker:20.10.9 variables: DOCKER_TLS_CERTDIR: "/certs" - IMAGE_TAG_APP: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG - IMAGE_TAG_NGINX: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-nginx services: - - docker:20.10.8-dind + - docker:20.10.9-dind before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY -build_app: - stage: build - script: - - docker pull $CI_REGISTRY_IMAGE:master || true - - docker build --cache-from $CI_REGISTRY_IMAGE:master -t $IMAGE_TAG_APP . - - docker push $IMAGE_TAG_APP - -build_nginx: +build: stage: build - when: manual script: - - docker pull $CI_REGISTRY_IMAGE:test-nginx || true - - docker build --cache-from $CI_REGISTRY_IMAGE:test-nginx -t $IMAGE_TAG_NGINX . -f Dockerfile.nginx - - docker push $IMAGE_TAG_NGINX + - VERSION=`cat VERSION` + - docker pull $CI_REGISTRY_IMAGE:latest || true + - docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$VERSION --tag $CI_REGISTRY_IMAGE:latest . + - docker push $CI_REGISTRY_IMAGE:$VERSION + - docker push $CI_REGISTRY_IMAGE:latest diff --git a/Dockerfile b/Dockerfile index db489ae..6861a2a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -27,10 +27,6 @@ RUN PIPENV_VENV_IN_PROJECT=1 pipenv install gunicorn FROM base AS runtime -# Install Postgres -RUN apt-get update -RUN apt-get install -yq --no-install-recommends postgresql - # Copy virtual env from python-deps stage COPY --from=python-deps /.venv /.venv ENV PATH="/.venv/bin:$PATH" diff --git a/Dockerfile.nginx b/Dockerfile.nginx deleted file mode 100644 index f95c410..0000000 --- a/Dockerfile.nginx +++ /dev/null @@ -1,3 +0,0 @@ -FROM nginx:1.23 -EXPOSE 8080 -ADD nginx.conf /etc/nginx/conf.d/measurer.conf diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..6e8bf73 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +0.1.0 diff --git a/docker-compose.yml b/docker-compose.yml index a670fed..287cafb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,32 +1,14 @@ version: "3" services: - database: - image: "postgres:latest" - - environment: - POSTGRES_DB: measurer - POSTGRES_PASSWORD: measurer - POSTGRES_USER: measurer - - expose: - - "5432" - - restart: always measurer: - build: "." - + image: ppm environment: FLASK_APP: measurer FLASK_ENV: production - DATABASE_URL: postgresql://measurer:measurer@database/measurer - - depends_on: - - database - + DATABASE_URL: postgresql://ppm:password@10.42.0.11/ppm ports: - - "5009:5009" - - restart: always - + - "8080:5009" + volumes: + - "./config.example.json:/home/appuser/config.json" command: ["/bin/bash", "./run.sh"] diff --git a/nginx.conf b/nginx.conf deleted file mode 100644 index 17af248..0000000 --- a/nginx.conf +++ /dev/null @@ -1,23 +0,0 @@ -upstream measurer { - ip_hash; - server measurer:5009 -} - -server { - server_name measurer; - listen 8080; - - client_max_body_size 10M; - - proxy_connect_timeout 60; - proxy_send_timeout 60; - proxy_read_timeout 60; - send_timeout 60; - - location / { - proxy_pass http://measurer/; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-Proto https; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } -} -- GitLab