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"