initial commit
All checks were successful
Build Multiarch Container Image / call-reusable-workflow (push) Successful in 27m13s

This commit is contained in:
Sebastian Hugentobler 2024-09-18 12:32:42 +02:00
commit 4177940a93
Signed by: shu
GPG key ID: BB32CF3CA052C2F0
4 changed files with 56 additions and 0 deletions

31
Containerfile Normal file
View file

@ -0,0 +1,31 @@
FROM docker.io/rust:1-alpine3.20 AS builder
RUN mkdir /db
RUN echo "tasker:x:2222:2222:Linux User,,,:/:/app" > /passwd
RUN apk --no-cache add \
musl-dev \
git
ENV CARGO_CARGO_NEW_VCS="none"
ENV CARGO_BUILD_RUSTFLAGS="-C target-feature=+crt-static"
ENV VERSION=af918bdf0dea7f7b6e920680c947fc37b37ffffb
RUN git clone https://github.com/GothenburgBitFactory/taskchampion-sync-server.git /work
WORKDIR /work
RUN git checkout "$VERSION"
RUN cargo build --release --target=$(arch)-unknown-linux-musl
RUN cp "./target/$(arch)-unknown-linux-musl/release/taskchampion-sync-server" /app
FROM scratch
COPY --from=builder /passwd /etc/passwd
COPY --from=builder /app /app
COPY --from=builder --chown=2222: /db /db
USER tasker
ENTRYPOINT ["/app", "--data-dir", "/db", "--port", "8080"]
EXPOSE 8080
VOLUME ["/db"]