scel/Dockerfile

32 lines
936 B
Docker
Raw Normal View History

2023-06-18 22:57:11 +02:00
FROM node:20-alpine as web_builder
2022-07-18 23:12:01 +02:00
WORKDIR /usr/src/scel/web
COPY src/web/ .
RUN --mount=type=cache,target=/usr/src/scel/web/dist yarn
RUN --mount=type=cache,target=/usr/src/scel/web/dist yarn build
2023-06-18 22:57:11 +02:00
FROM rust:1.70 as builder
WORKDIR /usr/src/scel
COPY . .
RUN --mount=type=cache,target=/usr/src/scel/target cargo build --release
RUN --mount=type=cache,target=/usr/src/scel/target cargo install --path src/cmd/scel
FROM debian:bullseye-slim
# Install YTD
RUN rm -f /etc/apt/apt.conf.d/docker-clean; echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache
RUN --mount=type=cache,target=/var/cache/apt --mount=type=cache,target=/var/lib/apt \
apt-get update && apt-get install -y python3 python3-pip
RUN python3 -m pip install -U yt-dlp
# Copy binary
COPY --from=builder /usr/local/cargo/bin/scel /usr/local/bin/scel
2022-07-18 23:12:01 +02:00
COPY --from=web_builder /usr/src/scel/web/dist /src/web/dist
CMD ["scel"]