Compare commits
6 Commits
39779e611b
...
cfbe0b71a9
Author | SHA1 | Date |
---|---|---|
|
cfbe0b71a9 | |
|
575c2fa6d0 | |
|
182de458ee | |
|
444203405d | |
|
fa83ca21e3 | |
|
c749134a2f |
|
@ -0,0 +1,21 @@
|
||||||
|
steps:
|
||||||
|
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
|
||||||
|
- cp $(nix build --extra-experimental-features nix-command --extra-experimental-features flakes --print-out-paths .#docker) ./memejoin-rs.tar.gz
|
||||||
|
|
||||||
|
publish-image:
|
||||||
|
when:
|
||||||
|
event: tag
|
||||||
|
image: docker
|
||||||
|
secrets: [ forgejo_token ]
|
||||||
|
commands:
|
||||||
|
- docker login -u ${CI_REPO_OWNER} --password $FORGEJO_TOKEN git.spacegirl.nl
|
||||||
|
- docker image load --input memejoin-rs.tar.gz
|
||||||
|
- docker image tag memejoin-rs:${CI_COMMIT_TAG} git.spacegirl.nl/${CI_REPO}:${CI_COMMIT_TAG}
|
||||||
|
- docker image push git.spacegirl.nl/${CI_REPO}:${CI_COMMIT_TAG}
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
@ -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"]
|
|
@ -8,6 +8,7 @@
|
||||||
outputs = { self, nixpkgs, rust-overlay, flake-utils, ... }:
|
outputs = { self, nixpkgs, rust-overlay, flake-utils, ... }:
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
|
tag = "0.1.4_3-alpha";
|
||||||
overlays = [ (import rust-overlay) ];
|
overlays = [ (import rust-overlay) ];
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
inherit system overlays;
|
inherit system overlays;
|
||||||
|
@ -45,8 +46,8 @@
|
||||||
|
|
||||||
packages = with pkgs; flake-utils.lib.flattenTree rec {
|
packages = with pkgs; flake-utils.lib.flattenTree rec {
|
||||||
default = rustPlatform.buildRustPackage rec {
|
default = rustPlatform.buildRustPackage rec {
|
||||||
|
inherit tag;
|
||||||
name = "memejoin-rs";
|
name = "memejoin-rs";
|
||||||
version = "0.1.4_2-alpha";
|
|
||||||
src = self;
|
src = self;
|
||||||
buildInputs = [ openssl.dev ];
|
buildInputs = [ openssl.dev ];
|
||||||
nativeBuildInputs = [ local-rust pkg-config openssl openssl.dev cmake gcc libopus ];
|
nativeBuildInputs = [ local-rust pkg-config openssl openssl.dev cmake gcc libopus ];
|
||||||
|
@ -57,8 +58,8 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
docker = dockerTools.buildImage {
|
docker = dockerTools.buildImage {
|
||||||
|
inherit tag;
|
||||||
name = "memejoin-rs";
|
name = "memejoin-rs";
|
||||||
tag = "0.1.4_2-alpha";
|
|
||||||
copyToRoot = buildEnv {
|
copyToRoot = buildEnv {
|
||||||
name = "image-root";
|
name = "image-root";
|
||||||
paths = [ default cacert openssl openssl.dev ffmpeg libopus youtube-dl yt-dlp ];
|
paths = [ default cacert openssl openssl.dev ffmpeg libopus youtube-dl yt-dlp ];
|
||||||
|
|
Loading…
Reference in New Issue