59 lines
1.0 KiB
Docker
59 lines
1.0 KiB
Docker
FROM rust:1.73.0-buster as builder
|
|
|
|
WORKDIR /usr/src/app
|
|
|
|
# Install dependencies
|
|
RUN apt-get update && apt-get install -y \
|
|
libssl-dev \
|
|
pkg-config \
|
|
libharfbuzz-dev
|
|
|
|
# Copy files
|
|
COPY . .
|
|
|
|
# Build
|
|
RUN cargo build --release
|
|
|
|
FROM debian:buster-slim as fonts
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
wget \
|
|
xz-utils
|
|
|
|
WORKDIR /data/fonts
|
|
|
|
COPY ./docker/download_nerd_fonts.sh .
|
|
|
|
RUN ls -la
|
|
RUN chmod +x download_nerd_fonts.sh
|
|
RUN bash ./download_nerd_fonts.sh
|
|
|
|
RUN mkdir -p /usr/share/fonts/truetype
|
|
RUN mv *.ttf /usr/share/fonts/truetype
|
|
|
|
FROM debian:buster-slim
|
|
|
|
# Install dependencies
|
|
RUN apt-get update && apt-get install -y \
|
|
libssl-dev \
|
|
libharfbuzz-dev \
|
|
libfontconfig1 \
|
|
fontconfig
|
|
|
|
# Copy fonts
|
|
COPY --from=fonts /usr/share/fonts/truetype /usr/share/fonts/truetype/
|
|
RUN fc-cache -fv
|
|
|
|
# Copy binary
|
|
COPY --from=builder /usr/src/app/target/release/inkify /usr/local/bin/inkify
|
|
|
|
ARG PORT=8080
|
|
ARG HOST=0.0.0.0
|
|
|
|
ENV PORT=$PORT
|
|
ENV HOST=$HOST
|
|
|
|
EXPOSE $PORT
|
|
|
|
# Run
|
|
ENTRYPOINT ["/usr/local/bin/inkify"] |