Patrick Cleavelin 2023-07-29 13:36:03 -05:00
parent 182de458ee
commit 575c2fa6d0
3 changed files with 55 additions and 19 deletions

View File

@ -5,22 +5,27 @@ steps:
# - apk add --no-cache git nix --repository=https://dl-cdn.alpinelinux.org/alpine/edge/testing # - 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 # - nix build --extra-experimental-features nix-command --extra-experimental-features flakes .#default
build-docker-image: # build-docker-image:
image: alpine:edge # image: alpine:edge
commands: # commands:
- apk add --no-cache git nix --repository=https://dl-cdn.alpinelinux.org/alpine/edge/testing # - 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 # - 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 # - nix build --extra-experimental-features nix-command --extra-experimental-features flakes .#docker
publish-image: build-docker-image:
when: image: docker
event: [tag, deployment] commands:
environment: prod - docker build --rm -t .
image: git.spacegirl.nl/patrick/plugin-artifact
settings: # publish-image:
tag: $CI_COMMIT_TAG # when:
user: patrick # event: [tag, deployment]
password: # environment: prod
from_secret: forgejo_token # image: git.spacegirl.nl/patrick/plugin-artifact
repo: $CI_REPO # settings:
image_tar: result # tag: $CI_COMMIT_TAG
# user: patrick
# password:
# from_secret: forgejo_token
# repo: $CI_REPO
# image_tar: result

31
Dockerfile Normal file
View File

@ -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"]

View File

@ -1 +1 @@
nightly nightly-2023-07-27