diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..0df90a3 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,7 @@ +** + +!src/** +!tools/docker/** +!Cross.toml +!Cargo.toml +!Cargo.lock diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..78be720 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,18 @@ +FROM docker.io/library/rust:alpine AS builder +# RUN wget -O source.tar.gz $(wget -qO- https://api.github.com/repos/mbrubeck/agate/releases/latest | sed -nE 's/^.*"tarball_url"\s*:\s*"([^"]+)".*$/\1/p')&& tar xzf source.tar.gz && \ +# mv mbrubeck-agate-* /agate + +WORKDIR /agate +COPY src src +COPY Cargo.toml . +COPY Cargo.lock . +COPY Cross.toml . +RUN apk --no-cache add libc-dev && \ + cargo install --target x86_64-unknown-linux-musl --path . + +FROM docker.io/library/alpine:latest +COPY --from=builder /usr/local/cargo/bin/agate /usr/bin/agate +WORKDIR /app +COPY tools/docker/start.sh /app +ENTRYPOINT ["/bin/sh", "start.sh"] + diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile deleted file mode 100644 index 6bb4a56..0000000 --- a/tools/docker/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM alpine:latest -RUN apk add cargo && wget -O source.tar.gz $(wget -qO- https://api.github.com/repos/mbrubeck/agate/releases/latest | sed -nE 's/^.*"tarball_url"\s*:\s*"([^"]+)".*$/\1/p')&& tar xzf source.tar.gz && mv /mbrubeck-agate-* /agate && cd agate && cargo build --release -RUN cp /agate/target/release/agate /usr/bin/agate -WORKDIR /app -COPY . /app -ADD . . -ENTRYPOINT ["/bin/sh", "start.sh"] - diff --git a/tools/docker/start.sh b/tools/docker/start.sh index e9d028b..fad3533 100644 --- a/tools/docker/start.sh +++ b/tools/docker/start.sh @@ -1,6 +1,8 @@ #!/bin/sh -exec agate --content /gmi/ \ - --hostname ${HOSTNAME} \ - --lang ${LANG} +echo "Using hostname ${HOSTNAME:-localhost}" +echo "Using lang ${LANG:-en-US}" +exec agate --content /gmi/ \ + --hostname "${HOSTNAME:-localhost}" \ + --lang "${LANG:-en-US}"