35 lines
697 B
Docker
35 lines
697 B
Docker
|
FROM rust:1.80 AS builder
|
||
|
|
||
|
WORKDIR /code
|
||
|
|
||
|
COPY Cargo.toml Cargo.lock ./
|
||
|
RUN mkdir src && echo "fn main() {}" > src/main.rs
|
||
|
RUN cargo build --release
|
||
|
|
||
|
COPY src src
|
||
|
COPY templates templates
|
||
|
RUN cargo install --path .
|
||
|
|
||
|
FROM debian:bookworm-slim AS runtime
|
||
|
|
||
|
RUN apt-get update && \
|
||
|
apt-get install -y libssl-dev curl python3 python3-venv && \
|
||
|
apt-get clean && \
|
||
|
rm -rf /var/lib/apt/lists/*
|
||
|
|
||
|
|
||
|
WORKDIR /app
|
||
|
COPY --from=builder /usr/local/cargo/bin/orario-scolastico-itet .
|
||
|
|
||
|
RUN python3 -m venv pyenv && \
|
||
|
bash -c "source pyenv/bin/activate"
|
||
|
RUN ./pyenv/bin/pip install pdfplumber
|
||
|
|
||
|
ENV PATH $PATH:/app/pyenv/bin
|
||
|
|
||
|
COPY static static
|
||
|
COPY pdf2csv.py .
|
||
|
|
||
|
EXPOSE 3000
|
||
|
CMD ["./orario-scolastico-itet"]
|