diff --git a/Containerfile b/Containerfile new file mode 100644 index 0000000..baa5930 --- /dev/null +++ b/Containerfile @@ -0,0 +1,18 @@ +FROM docker.io/rust:1.90 AS build +COPY . /app +WORKDIR /app +RUN cargo build --release + +# FROM docker.io/alpine:3.22.1 AS production +FROM docker.io/debian:sid AS production +COPY --from=build /app/target/release/piperun-bot /app/ +COPY crontab /app/ + +WORKDIR /app +RUN ln -sf /bin/bash /bin/sh +RUN mkdir log +RUN chmod +x piperun-bot +RUN apt update && apt install cron -y +RUN /usr/bin/crontab crontab + +CMD ["cron", "-f"] \ No newline at end of file diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 0000000..c6510ad --- /dev/null +++ b/compose.yaml @@ -0,0 +1,24 @@ +version: "3.9" + +networks: + piperun_bot_default: + external: true + ipv6_enabled: true + +services: + piperun-bot: + name: piperun-bot + restart: always + build: + context: . + dockerfile: Containerfile + volumes: + - ./crontab:/app/crontab:ro + - ./PROMPT.txt:/app/PROMPT.txt + - ./FILTER.txt:/app/FILTER.txt + - ./evaluations:/app/evaluations + - ./.env:/app/.env + - ./log/container:/app/log + - /etc/localtime:/etc/localtime:ro # sync time between machine and container + networks: + - piperun_bot_default