From 2e9b73a768ba78098efd9020ed63048ecec351a2 Mon Sep 17 00:00:00 2001 From: dolphinau Date: Wed, 6 Aug 2025 11:23:18 +0200 Subject: [PATCH] Add build and run commands with Dockerfile --- Dockerfile | 7 +++++++ justfile | 31 +++++++++++++++++++++++++++---- 2 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b160f02 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ +FROM rust:1.88 + +WORKDIR /src +COPY . . + +RUN cargo build --release +CMD ["./target/release/lwn-sub-snoozer", "/rss/lwn-sub.xml"] diff --git a/justfile b/justfile index 00cdc3d..096a2ef 100644 --- a/justfile +++ b/justfile @@ -1,7 +1,30 @@ +set dotenv-load + +POSTGRES_HOST := 'lwn-sub-snoozer_db' + clean: rm -rf target - podman network rm lwn-sub-snoozer || true + podman network rm lwn-sub-snoozer_network || true -db: - podman network create lwn-sub-snoozer || true - podman run --name postgres --rm -p 5432:5432 --network=lwn-sub-snoozer -e POSTGRES_DB=dev -e POSTGRES_USER=root -e POSTGRES_PASSWORD=root docker.io/postgres:alpine +init_db: + podman network create lwn-sub-snoozer_network || true + podman run --rm -d --replace \ + --name {{POSTGRES_HOST}} \ + --network=lwn-sub-snoozer_network \ + -p 5432:5432 \ + --env-file .env \ + docker.io/postgres:alpine + +init_app: + podman build --tag lwn-sub-snoozer_app:latest . + +init: init_db init_app + +run: + podman run --rm \ + --name lwn-sub-snoozer_app \ + --network lwn-sub-snoozer_network \ + -e POSTGRES_HOST={{POSTGRES_HOST}} \ + --env-file .env \ + --volume /tmp/lwn_sub:/rss \ + lwn-sub-snoozer_app:latest