From 63f88644f5b3f01f05beb9f49a770eaac6b1f2a3 Mon Sep 17 00:00:00 2001 From: jmal Date: Fri, 31 May 2024 15:32:00 +0800 Subject: [PATCH] chore: nginx-drawio Dockerfile --- .github/workflows/build-nginx-drawio.yml | 34 ++++++++++++++++++++++++ docker/nginx-drawio/Dockerfile | 13 +++++++++ docker/nginx-drawio/drawio.conf | 10 +++++++ 3 files changed, 57 insertions(+) create mode 100644 .github/workflows/build-nginx-drawio.yml create mode 100644 docker/nginx-drawio/Dockerfile create mode 100644 docker/nginx-drawio/drawio.conf diff --git a/.github/workflows/build-nginx-drawio.yml b/.github/workflows/build-nginx-drawio.yml new file mode 100644 index 0000000..2d64e42 --- /dev/null +++ b/.github/workflows/build-nginx-drawio.yml @@ -0,0 +1,34 @@ +name: Build nginx with Draw.io Docker Image + +on: + push: + branches: [ master ] + workflow_dispatch: + +jobs: + build-and-push: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Login to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build and push Docker image + uses: docker/build-push-action@v2 + with: + context: . + file: docker/nginx-drawio/Dockerfile + push: true + tags: jmal/nginx-drawio:latest + platforms: linux/amd64,linux/arm64 + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} diff --git a/docker/nginx-drawio/Dockerfile b/docker/nginx-drawio/Dockerfile new file mode 100644 index 0000000..733399d --- /dev/null +++ b/docker/nginx-drawio/Dockerfile @@ -0,0 +1,13 @@ +FROM nginx:latest + +RUN apt-get update && apt-get install -y unzip wget + +RUN wget https://github.com/jgraph/drawio/releases/download/v24.4.10/draw.war -O /var/www/draw.war + +RUN unzip /var/www/draw.war -d /var/www/draw + +RUN rm -rf /var/www/draw.war /var/www/draw/META-INF /var/www/draw/WEB-INF + +RUN mkdir -p /etc/nginx/servers + +COPY docker/nginx-drawio/drawio.conf /etc/nginx/servers/drawio.conf diff --git a/docker/nginx-drawio/drawio.conf b/docker/nginx-drawio/drawio.conf new file mode 100644 index 0000000..e96cc86 --- /dev/null +++ b/docker/nginx-drawio/drawio.conf @@ -0,0 +1,10 @@ +server { + listen 8080; + server_name localhost; + root /var/www/draw; + + location / { + try_files $uri $uri/ /index.html; + index index.html index.htm; + } +}