From 7eb9d5d42f7642301365cd45425b39250ef84037 Mon Sep 17 00:00:00 2001 From: Nick Peng Date: Tue, 22 Aug 2023 23:08:58 +0800 Subject: [PATCH] action: add docker build CI and update openssl for docker image. --- .github/workflows/docker.yml | 35 +++++++++++++++++++++++++++++++++++ Dockerfile | 8 ++++---- 2 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/docker.yml diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..22ec5f5 --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,35 @@ +name: Publish Docker Image + +on: + workflow_dispatch: + inputs: + version: + description: 'new image tag(e.g. v1.1.0)' + required: true + default: 'latest' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + platforms: linux/amd64,linux/arm64 + push: true + tags: ${{vars.DOCKERHUB_REPO}}:${{ github.event.inputs.version }} diff --git a/Dockerfile b/Dockerfile index ae06045..6cafab5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ FROM ubuntu:latest as smartdns-builder LABEL previous-stage=smartdns-builder # prepare builder -ARG OPENSSL_VER=1.1.1f +ARG OPENSSL_VER=3.0.10 RUN apt update && \ apt install -y perl curl make musl-tools musl-dev && \ ln -s /usr/include/linux /usr/include/$(uname -m)-linux-musl && \ @@ -27,7 +27,7 @@ COPY . /build/smartdns/ RUN cd /build/smartdns && \ export CC=musl-gcc && \ export CFLAGS="-I /opt/build/include" && \ - export LDFLAGS="-L /opt/build/lib" && \ + export LDFLAGS="-L /opt/build/lib -L /opt/build/lib64" && \ sh ./package/build-pkg.sh --platform linux --arch `dpkg --print-architecture` --static && \ \ ( cd package && tar -xvf *.tar.gz && chmod a+x smartdns/etc/init.d/smartdns ) && \ @@ -37,9 +37,9 @@ RUN cd /build/smartdns && \ cp package/smartdns/usr /release/ -a && \ cd / && rm -rf /build -FROM busybox:latest +FROM busybox:stable-musl COPY --from=smartdns-builder /release/ / EXPOSE 53/udp -VOLUME "/etc/smartdns/" +VOLUME ["/etc/smartdns/"] CMD ["/usr/sbin/smartdns", "-f", "-x"]