diff --git a/.woodpecker.yml b/.woodpecker.yml index 9efda50..f1bae78 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -5,22 +5,27 @@ steps: # - apk add --no-cache git nix --repository=https://dl-cdn.alpinelinux.org/alpine/edge/testing # - nix build --extra-experimental-features nix-command --extra-experimental-features flakes .#default - build-docker-image: - image: alpine:edge - commands: - - apk add --no-cache git nix --repository=https://dl-cdn.alpinelinux.org/alpine/edge/testing - - echo "system-features = nixos-test benchmark big-parallel uid-range kvm" > /etc/nix/nix.conf - - nix build --extra-experimental-features nix-command --extra-experimental-features flakes .#docker + # build-docker-image: + # image: alpine:edge + # commands: + # - apk add --no-cache git nix --repository=https://dl-cdn.alpinelinux.org/alpine/edge/testing + # - echo "system-features = nixos-test benchmark big-parallel uid-range kvm" > /etc/nix/nix.conf + # - nix build --extra-experimental-features nix-command --extra-experimental-features flakes .#docker - publish-image: - when: - event: [tag, deployment] - environment: prod - image: git.spacegirl.nl/patrick/plugin-artifact - settings: - tag: $CI_COMMIT_TAG - user: patrick - password: - from_secret: forgejo_token - repo: $CI_REPO - image_tar: result + build-docker-image: + image: docker + commands: + - docker build --rm -t . + + # publish-image: + # when: + # event: [tag, deployment] + # environment: prod + # image: git.spacegirl.nl/patrick/plugin-artifact + # settings: + # tag: $CI_COMMIT_TAG + # user: patrick + # password: + # from_secret: forgejo_token + # repo: $CI_REPO + # image_tar: result diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..df2fe5a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,31 @@ +FROM rust-1.73.0-slim AS builder + +RUN USER=root cargo new --bin memejoin-docker +WORKDIR ./memejoin-docker +COPY ./Cargo.toml ./Cargo.toml +RUN cargo build --release +RUN rm src/*.rs + +ADD . ./ + +RUN rm ./target/release/deps/memejoin-docker +RUN cargo build --release + +FROM debian:buster-slim +ARG APP=/usr/src/app + +RUN apt update \ + && apt install -y ca-certificates cmake gcc libopus libssl openssl pkg-config \ + && rm -rf /var/lib/apt/lists/* + +EXPOSE 8100 + +RUN groupadd $APP_USER && useradd -g $APP_USER $APP_USER && mkdir -p ${APP} +COPY --from=builder /memejoin-docker/target/release/memejoin-docker ${APP}/memejoin-docker + +RUN chown -R $APP_USER:$APP_USER ${APP} + +USER $APP_USER +WORKDIR ${APP} + +CMD ["./memejoin-docker"] diff --git a/rust-toolchain b/rust-toolchain index bf867e0..6f39b03 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -nightly +nightly-2023-07-27