From 2df5352c1c32757748f87900527fbfc7a9201b2f Mon Sep 17 00:00:00 2001 From: Mariano Riefolo Date: Wed, 4 Sep 2024 13:01:59 +0200 Subject: [PATCH] feat(docker): add docker and compose support --- Dockerfile | 34 ++++++++++++++++++++++++++++++++++ docker-compose.yaml | 6 ++++++ 2 files changed, 40 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yaml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..1d52c0e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,34 @@ +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"] diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..2f92635 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,6 @@ +services: + web: + build: . + restart: unless-stopped + ports: + - "3000:3000"