mirror of
https://github.com/mbround18/valheim-docker.git
synced 2021-10-22 21:53:54 +03:00
44 lines
1.3 KiB
Odin
44 lines
1.3 KiB
Odin
# ------------------ #
|
|
# -- Odin Planner -- #
|
|
# ------------------ #
|
|
FROM lukemathwalker/cargo-chef:latest-rust-1.54-alpine as planner
|
|
WORKDIR /data/odin
|
|
COPY . .
|
|
RUN cargo chef prepare --recipe-path recipe.json
|
|
|
|
# ------------------ #
|
|
# -- Odin Cacher -- #
|
|
# ------------------ #
|
|
FROM lukemathwalker/cargo-chef:latest-rust-1.54-alpine as cacher
|
|
WORKDIR /data/odin
|
|
COPY --from=planner /data/odin/recipe.json recipe.json
|
|
RUN cargo chef cook --release --recipe-path recipe.json
|
|
|
|
# ---------------------------- #
|
|
# -- Odin Project Mangement -- #
|
|
# ---------------------------- #
|
|
|
|
FROM mbround18/cargo-make:latest as cargo-make
|
|
|
|
# ------------------ #
|
|
# -- Odin Builder -- #
|
|
# ------------------ #
|
|
FROM rust:1.55 as builder
|
|
WORKDIR /data/odin
|
|
COPY . .
|
|
# Copy over the cached dependencies
|
|
COPY --from=cacher /data/odin/target target
|
|
COPY --from=cacher /usr/local/cargo/registry /usr/local/cargo/
|
|
COPY --from=cargo-make /usr/local/bin/cargo-make /usr/local/cargo/bin
|
|
RUN /usr/local/cargo/bin/cargo make -p production release
|
|
|
|
# ------------------ #
|
|
# -- Odin Runtime -- #
|
|
# ------------------ #
|
|
FROM debian:buster-slim as runtime
|
|
WORKDIR /data/odin
|
|
COPY --from=builder /data/odin/target/release/odin /usr/local/bin/
|
|
COPY --from=builder /data/odin/target/release/huginn /usr/local/bin/
|
|
ENTRYPOINT ["/usr/local/bin/odin"]
|
|
CMD ["--version"]
|