diff --git a/.woodpecker.yml b/.woodpecker.yml new file mode 100644 index 0000000..069907c --- /dev/null +++ b/.woodpecker.yml @@ -0,0 +1,15 @@ +platform: 'linux/amd64' +branches: 'main' + +pipeline: + docker: + image: 'plugins/docker' + settings: + registry: 'git.rustybever.be' + repo: 'git.rustybever.be/chewing_bever/lander' + tag: + - 'latest' + mtu: 1300 + secrets: + - 'docker_username' + - 'docker_password' diff --git a/Dockerfile b/Dockerfile index 576d8dd..b430e4a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,40 @@ FROM alpine:3.16.3 AS builder +ARG DI_VER=1.2.5 + RUN apk add --update --no-cache \ build-base \ make \ cmake \ - boost1.78-static + boost-dev \ + curl WORKDIR /app +# Build dumb-init +RUN curl -Lo - "https://github.com/Yelp/dumb-init/archive/refs/tags/v${DI_VER}.tar.gz" | tar -xzf - && \ + cd "dumb-init-${DI_VER}" && \ + make SHELL=/bin/sh && \ + mv dumb-init .. && \ + cd .. + COPY . ./ RUN make prod && \ - strip build/Release/lander && \ - [ "$(readelf -d build/Release/lander | grep NEEDED | wc -l)" = 0 ] + strip build/Release/lander + + +FROM alpine:3.16.3 + +RUN apk add --update --no-cache boost && \ + mkdir /data && \ + chown -R 1000:1000 /data + +COPY --from=builder /app/build/Release/lander /app/dumb-init /bin/ + +WORKDIR /data + +USER 1000:1000 + +ENTRYPOINT ["/bin/dumb-init", "--"] +CMD ["/bin/lander"]