From f3c84489e99fb118bcd141f719ce3f9ca825d0f7 Mon Sep 17 00:00:00 2001 From: yoan <536464346@qq.com> Date: Tue, 27 Aug 2024 22:09:55 +0800 Subject: [PATCH] Add docker support --- .github/workflows/push_image.yml | 31 +++++++++++++++++++++++++++++++ .gitignore | 2 ++ Dockerfile | 9 +++++++++ docker/data/data.db | Bin 0 -> 143360 bytes docker/data/logs.db | Bin 0 -> 45056 bytes docker/docker-compose.yml | 10 ++++++++++ 6 files changed, 52 insertions(+) create mode 100644 .github/workflows/push_image.yml create mode 100644 Dockerfile create mode 100644 docker/data/data.db create mode 100644 docker/data/logs.db create mode 100644 docker/docker-compose.yml diff --git a/.github/workflows/push_image.yml b/.github/workflows/push_image.yml new file mode 100644 index 00000000..c0330f21 --- /dev/null +++ b/.github/workflows/push_image.yml @@ -0,0 +1,31 @@ +name: Docker Image CI + +on: + push: + branches: ["main"] + +jobs: + build-and-push: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Log in to Docker Hub + uses: docker/login-action@v2 + + with: + registry: registry.cn-shanghai.aliyuncs.com + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build and push Docker image + uses: docker/build-push-action@v4 + with: + context: . + push: true + tags: usual2970/certimate:latest diff --git a/.gitignore b/.gitignore index da0ee1a3..22802d77 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,5 @@ build *.njsproj *.sln *.sw? + +dist/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..685a29ba --- /dev/null +++ b/Dockerfile @@ -0,0 +1,9 @@ +FROM golang:1.22-alpine + +WORKDIR /app + +COPY ../. /app/ + +RUN go build -o certimate + +ENTRYPOINT ["./certimate", "serve", "--http", "0.0.0.0:8090"] \ No newline at end of file diff --git a/docker/data/data.db b/docker/data/data.db new file mode 100644 index 0000000000000000000000000000000000000000..16093e14421ab8e1aaf3e102221ec54547f6abd9 GIT binary patch literal 143360 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 So*Dn+$Dqw?HQLWzF#bPm?1w@C literal 0 HcmV?d00001 diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 00000000..514dcd47 --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,10 @@ +version: '3.0' +services: + certimate: + image: registry.cn-shanghai.aliyuncs.com/usual2970/certimate:v0.0.4 + container_name: certimate + ports: + - 8090:8090 + volumes: + - ./data:/app/pb_data + restart: unless-stopped \ No newline at end of file