quoter/Dockerfile

40 lines
941 B
Docker

FROM rustlang/rust:nightly-slim as build
# had to add this for open-ssl
RUN apt-get update -y && \
apt-get install -y git pkg-config make g++ libssl-dev wget && \
rustup target add x86_64-unknown-linux-gnu
RUN USER=root cargo new --bin presence
WORKDIR /presence
COPY ./Cargo.lock ./Cargo.lock
COPY ./Cargo.toml ./Cargo.toml
# cache dependencies
ENV CARGO_NET_GIT_FETCH_WITH_CLI=true
RUN cargo build --release
RUN rm src/*.rs
# copy your source tree
COPY ./src ./src
# build for release
RUN rm ./target/release/deps/presence*
RUN cargo build --release
FROM rustlang/rust:nightly-slim
ENV RUST_BACKTRACE=full
RUN apt-get update && apt install -y openssl libssl-dev
COPY --from=build /presence/target/release/presence .
EXPOSE 8080
# Create the directory for Let's Encrypt challenges
RUN mkdir -p /var/www/letsencrypt/.well-known/acme-challenge/ && \
chown -R www-data:www-data /var/www/letsencrypt/
CMD ["./presence"]