summaryrefslogtreecommitdiffstats
path: root/Dockerfile
diff options
context:
space:
mode:
authorEllie Huxtable <e@elm.sh>2021-04-14 18:40:50 +0100
committerGitHub <noreply@github.com>2021-04-14 17:40:50 +0000
commitf6de558070c4ed4dbecf4bbbf4693e396a5577dc (patch)
tree174dcd5f1341e2845ea30cff6521e36170e8a0d5 /Dockerfile
parent983f9e6b7bc801a8ffb03c5241498df134a2d69b (diff)
Optimise docker (#34)
* Smaller dockerfile, better error handling * Add config dir
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile32
1 files changed, 27 insertions, 5 deletions
diff --git a/Dockerfile b/Dockerfile
index 4ef5f15f..774468ed 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,12 +1,34 @@
-# no point in tagging the rust version, currently using nightly
-FROM rust:slim-buster
+FROM rust as builder
-RUN apt update && apt -y install libssl-dev libpq-dev pkg-config make
RUN rustup default nightly
+
+RUN cargo new --bin atuin
WORKDIR /atuin
-COPY . /atuin
+COPY ./Cargo.toml ./Cargo.toml
+COPY ./Cargo.lock ./Cargo.lock
+
+RUN cargo build --release
+
+RUN rm src/*.rs
+
+ADD . ./
+RUN rm ./target/release/deps/atuin*
RUN cargo build --release
-ENTRYPOINT ["/atuin/target/release/atuin"]
+FROM debian:buster-slim
+
+RUN apt-get update \
+ && apt-get install -y ca-certificates tzdata libpq-dev \
+ && rm -rf /var/lib/apt/lists/*
+
+EXPOSE 8888
+
+ENV TZ=Etc/UTC
+ENV RUST_LOG=info
+ENV ATUIN_CONFIG=/config/config.toml
+
+COPY --from=builder /atuin/target/release/atuin ./atuin
+
+ENTRYPOINT ["./atuin"]