From 48e7aa430656166b62483645abb475f880afc468 Mon Sep 17 00:00:00 2001 From: Maciej Hirsz Date: Thu, 2 Jul 2020 15:03:14 +0200 Subject: [PATCH 1/9] WIP: reworking docker --- docker-compose.yml | 8 +++--- frontend/Dockerfile | 1 + frontend/nginx/default | 55 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 frontend/nginx/default diff --git a/docker-compose.yml b/docker-compose.yml index ed67275..6b460ef 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,13 +3,13 @@ version: "3" services: telemetry-frontend: build: - dockerfile: frontend.Dockerfile - context: ./ + dockerfile: Dockerfile + context: ./frontend/ # Copy in changes to the ui, so no need to rebuild the images. volumes: - /app/node_modules - ./packages:/app/packages - command: yarn start:frontend + # command: yarn start:frontend ports: - 3000:3000 telemetry-backend: @@ -20,3 +20,5 @@ services: - PORT=8000 ports: - 8000:8000 + expose: + - 8000 diff --git a/frontend/Dockerfile b/frontend/Dockerfile index 08c47eb..6b1946e 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -24,6 +24,7 @@ COPY --from=builder /opt/builder/env.sh /usr/bin/ RUN apk add --no-cache bash; chmod +x /usr/bin/env.sh COPY --from=builder /opt/builder/nginx/nginx.conf /etc/nginx/nginx.conf +COPY --from=builder /opt/builder/nginx/default /etc/nginx/sites-available/default COPY --from=builder /opt/builder/build /usr/share/nginx/html EXPOSE 80 diff --git a/frontend/nginx/default b/frontend/nginx/default new file mode 100644 index 0000000..b2ad03a --- /dev/null +++ b/frontend/nginx/default @@ -0,0 +1,55 @@ + +## +# You should look at the following URL's in order to grasp a solid understanding +# of Nginx configuration files in order to fully unleash the power of Nginx. +# http://wiki.nginx.org/Pitfalls +# http://wiki.nginx.org/QuickStart +# http://wiki.nginx.org/Configuration +# +# Generally, you will want to move this file somewhere, and start with a clean +# file but keep this around for reference. Or just disable in sites-enabled. +# +# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. +## + +server { + root /usr/share/nginx/html; + + index index.html; + + listen 3000; + listen [::]:3000; + server_name telemetry.polkadot.io localhost; + + location /feed/ { + proxy_pass http://127.0.0.1:8000; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + limit_req zone=zone burst=5; + } + + location /submit/ { + proxy_pass http://127.0.0.1:8000; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + limit_req zone=zone burst=5; + } + + location /network_state/ { + proxy_pass http://127.0.0.1:8000; + proxy_http_version 1.1; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + limit_req zone=zone burst=5; + } + + location /health/ { + proxy_pass http://127.0.0.1:8000; + proxy_http_version 1.1; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + limit_req zone=zone burst=5; + } +} From 4bbfd54297f7bbab7e61fc589a9d84b7c3c971f4 Mon Sep 17 00:00:00 2001 From: Erin Grasmick Date: Mon, 13 Jul 2020 12:38:13 +0200 Subject: [PATCH 2/9] add docker build + push to CI --- .github/workflows/backend.yml | 12 ++++++++++++ .github/workflows/frontend.yml | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml index 34e0a98..12e75db 100644 --- a/.github/workflows/backend.yml +++ b/.github/workflows/backend.yml @@ -22,3 +22,15 @@ jobs: - name: Build release and call executable working-directory: ./backend run: cargo run --release -- --help + + - name: Build and Push template image + uses: docker/build-push-action@v1 # https://github.com/docker/build-push-action + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + dockerfile: Dockerfile + repository: paritytech/substrate-telemetry-backend-${{ github.event.client_payload.id }} + tags: latest + add_git_labels: true + tag_with_ref: true + tag_with_sha: true diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml index e6f8ebe..fcbc0ce 100644 --- a/.github/workflows/frontend.yml +++ b/.github/workflows/frontend.yml @@ -36,3 +36,15 @@ jobs: - name: Build working-directory: ./frontend run: yarn build + + - name: Build and Push template image + uses: docker/build-push-action@v1 # https://github.com/docker/build-push-action + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + dockerfile: Dockerfile + repository: paritytech/substrate-telemetry-frontend-${{ github.event.client_payload.id }} + tags: latest + add_git_labels: true + tag_with_ref: true + tag_with_sha: true From 817092d9c4a16185024e71d8e0dbd0de26624456 Mon Sep 17 00:00:00 2001 From: Erin Grasmick Date: Mon, 13 Jul 2020 16:45:33 +0200 Subject: [PATCH 3/9] change repository names --- .github/workflows/backend.yml | 2 +- .github/workflows/frontend.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml index 12e75db..65a22fc 100644 --- a/.github/workflows/backend.yml +++ b/.github/workflows/backend.yml @@ -29,7 +29,7 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} dockerfile: Dockerfile - repository: paritytech/substrate-telemetry-backend-${{ github.event.client_payload.id }} + repository: paritytech/substrate-telemetry-backend tags: latest add_git_labels: true tag_with_ref: true diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml index fcbc0ce..aec63a5 100644 --- a/.github/workflows/frontend.yml +++ b/.github/workflows/frontend.yml @@ -43,7 +43,7 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} dockerfile: Dockerfile - repository: paritytech/substrate-telemetry-frontend-${{ github.event.client_payload.id }} + repository: paritytech/substrate-telemetry-frontend tags: latest add_git_labels: true tag_with_ref: true From dc1a747b57ed2629778bde9131f9c80ca6c50a9f Mon Sep 17 00:00:00 2001 From: Erin Grasmick Date: Wed, 15 Jul 2020 12:53:46 +0200 Subject: [PATCH 4/9] remove tags --- .github/workflows/backend.yml | 2 -- .github/workflows/frontend.yml | 2 -- 2 files changed, 4 deletions(-) diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml index 65a22fc..eed168a 100644 --- a/.github/workflows/backend.yml +++ b/.github/workflows/backend.yml @@ -32,5 +32,3 @@ jobs: repository: paritytech/substrate-telemetry-backend tags: latest add_git_labels: true - tag_with_ref: true - tag_with_sha: true diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml index aec63a5..d9c1275 100644 --- a/.github/workflows/frontend.yml +++ b/.github/workflows/frontend.yml @@ -46,5 +46,3 @@ jobs: repository: paritytech/substrate-telemetry-frontend tags: latest add_git_labels: true - tag_with_ref: true - tag_with_sha: true From 986ff38e4eb877ec87e6996549f24d15511d8bcd Mon Sep 17 00:00:00 2001 From: Erin Grasmick Date: Wed, 15 Jul 2020 14:06:21 +0200 Subject: [PATCH 5/9] docker compose changes --- docker-compose.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 6b460ef..2778229 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -9,9 +9,8 @@ services: volumes: - /app/node_modules - ./packages:/app/packages - # command: yarn start:frontend ports: - - 3000:3000 + - 3000:80 telemetry-backend: build: dockerfile: backend.Dockerfile From 5c76ada9120c372ca96dddf59132ea04826e67a5 Mon Sep 17 00:00:00 2001 From: Erin Grasmick Date: Wed, 15 Jul 2020 14:17:06 +0200 Subject: [PATCH 6/9] push to docker hub only on tag refs --- .github/workflows/backend.yml | 1 + .github/workflows/frontend.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml index eed168a..866fbf2 100644 --- a/.github/workflows/backend.yml +++ b/.github/workflows/backend.yml @@ -30,5 +30,6 @@ jobs: password: ${{ secrets.DOCKER_PASSWORD }} dockerfile: Dockerfile repository: paritytech/substrate-telemetry-backend + push: ${{ startsWith(github.ref, 'refs/tags/') }} tags: latest add_git_labels: true diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml index d9c1275..3d96a39 100644 --- a/.github/workflows/frontend.yml +++ b/.github/workflows/frontend.yml @@ -44,5 +44,6 @@ jobs: password: ${{ secrets.DOCKER_PASSWORD }} dockerfile: Dockerfile repository: paritytech/substrate-telemetry-frontend + push: ${{ startsWith(github.ref, 'refs/tags/') }} tags: latest add_git_labels: true From a7c92e8e99a9d1c651c0e785fa60ea7b6c85fe19 Mon Sep 17 00:00:00 2001 From: Erin Grasmick Date: Wed, 15 Jul 2020 17:28:54 +0200 Subject: [PATCH 7/9] change publish org --- .github/workflows/backend.yml | 2 +- .github/workflows/frontend.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml index 866fbf2..f6923f1 100644 --- a/.github/workflows/backend.yml +++ b/.github/workflows/backend.yml @@ -29,7 +29,7 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} dockerfile: Dockerfile - repository: paritytech/substrate-telemetry-backend + repository: parity/substrate-telemetry-backend push: ${{ startsWith(github.ref, 'refs/tags/') }} tags: latest add_git_labels: true diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml index 3d96a39..052b67b 100644 --- a/.github/workflows/frontend.yml +++ b/.github/workflows/frontend.yml @@ -43,7 +43,7 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} dockerfile: Dockerfile - repository: paritytech/substrate-telemetry-frontend + repository: parity/substrate-telemetry-frontend push: ${{ startsWith(github.ref, 'refs/tags/') }} tags: latest add_git_labels: true From 6791bef6dc6fdee75e13d974a4d3d76bc91be68b Mon Sep 17 00:00:00 2001 From: Erin Grasmick Date: Wed, 15 Jul 2020 17:31:29 +0200 Subject: [PATCH 8/9] change backend dockerfile --- docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 2778229..67d807a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,8 +13,8 @@ services: - 3000:80 telemetry-backend: build: - dockerfile: backend.Dockerfile - context: ./ + dockerfile: Dockerfile + context: ./backend/ environment: - PORT=8000 ports: From 0cd1b02d58f6bb23912f83daa0abeee796f4c970 Mon Sep 17 00:00:00 2001 From: Erin Grasmick Date: Wed, 15 Jul 2020 18:15:29 +0200 Subject: [PATCH 9/9] remove old backend dockerfile --- backend.Dockerfile | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 backend.Dockerfile diff --git a/backend.Dockerfile b/backend.Dockerfile deleted file mode 100644 index bc20c35..0000000 --- a/backend.Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM rust as builder - -WORKDIR /build -COPY ./backend . -RUN cargo build --release - -##################################### -FROM phusion/baseimage:0.11 - -COPY --from=builder /build/target/release/telemetry /usr/local/bin - -EXPOSE 8000 - -ENTRYPOINT [ "telemetry" ]