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"]
|