add docker builds, changed name to picca
This commit is contained in:
parent
c705c3514d
commit
d56ab2ff64
5 changed files with 74 additions and 24 deletions
40
Cargo.lock
generated
40
Cargo.lock
generated
|
@ -364,26 +364,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad"
|
||||
|
||||
[[package]]
|
||||
name = "ppv-lite86"
|
||||
version = "0.2.21"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
|
||||
dependencies = [
|
||||
"zerocopy",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.95"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "psha"
|
||||
version = "0.3.0"
|
||||
name = "picca"
|
||||
version = "0.3.1"
|
||||
dependencies = [
|
||||
"ascon-hash",
|
||||
"belt-hash",
|
||||
|
@ -411,6 +393,24 @@ dependencies = [
|
|||
"whirlpool",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ppv-lite86"
|
||||
version = "0.2.21"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
|
||||
dependencies = [
|
||||
"zerocopy",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.95"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.40"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "psha"
|
||||
version = "0.3.0"
|
||||
name = "picca"
|
||||
version = "0.3.1"
|
||||
edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
|
|
7
Justfile
7
Justfile
|
@ -1,7 +1,7 @@
|
|||
alias build := build-release
|
||||
|
||||
version := `cat Cargo.toml | grep -m1 version | awk -F' ' '{print $3}' | sed 's|"||g'`
|
||||
major_version := `echo {{version}} | awk -F'.' '{print$1}'`
|
||||
major_version := shell("echo $1 | awk -F'.' '{print$1}'", version)
|
||||
uid := `id -u`
|
||||
gid := `id -g`
|
||||
date := `date -u --rfc-3339=seconds`
|
||||
|
@ -15,7 +15,7 @@ build-release:
|
|||
build-debug:
|
||||
cargo build
|
||||
|
||||
build-docker:
|
||||
build-docker: clean
|
||||
docker build -t picca:{{version}} -t picca:{{major_version}} -t picca:latest \
|
||||
--build-arg VERSION={{version}} --build-arg DATE="{{date}}" -f docker/Dockerfile .
|
||||
|
||||
|
@ -30,3 +30,6 @@ push-docker-latest: build-docker push-docker
|
|||
docker tag picca:{{version}} forge.steck.dev/bryson/picca:latest
|
||||
docker push forge.steck.dev/bryson/picca:latest
|
||||
docker image rm forge.steck.dev/bryson/picca:latest
|
||||
|
||||
clean:
|
||||
cargo clean
|
||||
|
|
30
docker/Dockerfile
Normal file
30
docker/Dockerfile
Normal file
|
@ -0,0 +1,30 @@
|
|||
FROM rust:1-alpine AS build
|
||||
|
||||
ENV PICCA_DOCKER="true"
|
||||
|
||||
WORKDIR /usr/src/picca
|
||||
COPY . .
|
||||
|
||||
RUN apk upgrade --no-cache && apk add musl-dev
|
||||
RUN cargo install --path . && cargo clean
|
||||
|
||||
FROM alpine:3 AS package
|
||||
|
||||
ARG VERSION
|
||||
ARG DATE
|
||||
|
||||
LABEL org.opencontainers.image.title="picca"
|
||||
LABEL org.opencontainers.image.authors="bryson@steck.dev"
|
||||
LABEL org.opencontainers.image.version="${VERSION}"
|
||||
LABEL org.opencontainers.image.url="https://forge.steck.dev/bryson/-/packages/container/picca/${VERSION}"
|
||||
LABEL org.opencontainers.image.source="https://forge.steck.dev/bryson/picca"
|
||||
LABEL org.opencontainers.image.created="${DATE}"
|
||||
|
||||
RUN apk upgrade --no-cache
|
||||
RUN mkdir /etc/picca
|
||||
COPY ./docker/entrypoint.sh /usr/local/bin/entrypoint.sh
|
||||
|
||||
COPY --from=build /usr/src/picca /usr/src
|
||||
COPY --from=build /usr/local/cargo/bin/picca /usr/local/bin
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
17
docker/entrypoint.sh
Executable file
17
docker/entrypoint.sh
Executable file
|
@ -0,0 +1,17 @@
|
|||
#!/bin/sh
|
||||
# Entrypoint file for picca Docker containers
|
||||
|
||||
if [ -z "$UID" ]; then
|
||||
echo "UID not set! Setting to id $(id -u)"
|
||||
export UID=$(id -u)
|
||||
fi
|
||||
|
||||
if [ -z "$GID" ]; then
|
||||
echo "GID not set! Setting to id $(id -g)"
|
||||
export GID=$(id -g)
|
||||
fi
|
||||
|
||||
addgroup -g $GID dockeruser
|
||||
adduser -u $UID -G $(grep :$GID: /etc/group | awk -F: '{print $1}') -D dockeruser
|
||||
|
||||
su -p - dockeruser -c "picca $@"
|
Loading…
Add table
Reference in a new issue