dockerfile improving (#66)
This commit is contained in:
parent
46cfd03a37
commit
29d2351597
22
.github/workflows/tests.yml
vendored
22
.github/workflows/tests.yml
vendored
@ -24,27 +24,9 @@ jobs:
|
|||||||
- {uses: actions/checkout@v4, with: {fetch-depth: 0}}
|
- {uses: actions/checkout@v4, with: {fetch-depth: 0}}
|
||||||
- uses: gacts/gitleaks@v1
|
- uses: gacts/gitleaks@v1
|
||||||
|
|
||||||
filter:
|
|
||||||
name: Filter files
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions: {pull-requests: read}
|
|
||||||
outputs:
|
|
||||||
docker: ${{ steps.filter.outputs.docker }}
|
|
||||||
helm: ${{ steps.filter.outputs.helm }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- uses: dorny/paths-filter@v3
|
|
||||||
id: filter
|
|
||||||
with:
|
|
||||||
filters: |
|
|
||||||
docker: [Dockerfile, '*docker*', '*3proxy*']
|
|
||||||
helm: ['deployments/helm/**', '*kube*']
|
|
||||||
|
|
||||||
lint-charts:
|
lint-charts:
|
||||||
name: Lint the chart
|
name: Lint the chart
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [filter]
|
|
||||||
if: needs.filter.outputs.helm == 'true'
|
|
||||||
defaults: {run: {working-directory: ./deployments/helm}}
|
defaults: {run: {working-directory: ./deployments/helm}}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
@ -56,8 +38,6 @@ jobs:
|
|||||||
build-image:
|
build-image:
|
||||||
name: Build the docker image
|
name: Build the docker image
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [filter] # since this is the initial step, we can filter out the rest of the jobs right here to skip them
|
|
||||||
if: needs.filter.outputs.docker == 'true'
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- run: docker build -f ./Dockerfile --tag 3proxy:local .
|
- run: docker build -f ./Dockerfile --tag 3proxy:local .
|
||||||
@ -69,7 +49,7 @@ jobs:
|
|||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
try-to-use:
|
try-to-use:
|
||||||
name: Build and use the docker image (auth ${{ matrix.auth }})
|
name: Try to use the docker image (auth ${{ matrix.auth }})
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
11
Dockerfile
11
Dockerfile
@ -1,6 +1,6 @@
|
|||||||
# syntax=docker/dockerfile:1
|
# syntax=docker/dockerfile:1
|
||||||
|
|
||||||
FROM gcc:13.3.0 AS builder
|
FROM docker.io/library/gcc:13.3.0 AS builder
|
||||||
|
|
||||||
# renovate: source=github-tags name=3proxy/3proxy
|
# renovate: source=github-tags name=3proxy/3proxy
|
||||||
ARG Z3PROXY_VERSION=0.9.4
|
ARG Z3PROXY_VERSION=0.9.4
|
||||||
@ -34,10 +34,11 @@ RUN set -x \
|
|||||||
&& strip ./bin/TrafficPlugin.ld.so \
|
&& strip ./bin/TrafficPlugin.ld.so \
|
||||||
&& strip ./bin/PCREPlugin.ld.so \
|
&& strip ./bin/PCREPlugin.ld.so \
|
||||||
&& strip ./bin/TransparentPlugin.ld.so \
|
&& strip ./bin/TransparentPlugin.ld.so \
|
||||||
&& strip ./bin/SSLPlugin.ld.so
|
&& strip ./bin/SSLPlugin.ld.so \
|
||||||
|
&& cp /lib/$(gcc -dumpmachine)/libdl.so.* /tmp/3proxy/
|
||||||
|
|
||||||
# Prepare filesystem for 3proxy running
|
# Prepare filesystem for 3proxy running
|
||||||
FROM alpine:latest AS buffer
|
FROM docker.io/library/alpine:latest AS buffer
|
||||||
|
|
||||||
# create a directory for the future root filesystem
|
# create a directory for the future root filesystem
|
||||||
WORKDIR /tmp/rootfs
|
WORKDIR /tmp/rootfs
|
||||||
@ -53,7 +54,7 @@ RUN set -x \
|
|||||||
&& chmod +x ./bin/dumb-init \
|
&& chmod +x ./bin/dumb-init \
|
||||||
&& apk del .build-deps
|
&& apk del .build-deps
|
||||||
|
|
||||||
COPY --from=builder /lib/*-linux-gnu/libdl.so.* ./lib/
|
COPY --from=builder /tmp/3proxy/libdl.so.* ./lib/
|
||||||
COPY --from=builder /tmp/3proxy/bin/3proxy ./bin/3proxy
|
COPY --from=builder /tmp/3proxy/bin/3proxy ./bin/3proxy
|
||||||
COPY --from=builder /tmp/3proxy/bin/*.ld.so ./usr/local/3proxy/libexec/
|
COPY --from=builder /tmp/3proxy/bin/*.ld.so ./usr/local/3proxy/libexec/
|
||||||
COPY --from=ghcr.io/tarampampam/mustpl:0.1.1 /bin/mustpl ./bin/mustpl
|
COPY --from=ghcr.io/tarampampam/mustpl:0.1.1 /bin/mustpl ./bin/mustpl
|
||||||
@ -63,7 +64,7 @@ COPY 3proxy.cfg.mustach ./etc/3proxy/3proxy.cfg.mustach
|
|||||||
RUN chown -R 10001:10001 ./etc/3proxy
|
RUN chown -R 10001:10001 ./etc/3proxy
|
||||||
|
|
||||||
# Merge into a single layer
|
# Merge into a single layer
|
||||||
FROM busybox:stable-glibc
|
FROM docker.io/library/busybox:stable-glibc
|
||||||
|
|
||||||
LABEL \
|
LABEL \
|
||||||
org.opencontainers.image.title="3proxy" \
|
org.opencontainers.image.title="3proxy" \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user