From aa825c9f562bd4194cb7ca53f95fe3f8f6055051 Mon Sep 17 00:00:00 2001 From: mmattbtw Date: Thu, 18 Sep 2025 11:47:08 -0500 Subject: [PATCH] docker --- Dockerfile | 43 +++++++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 12 ++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..1ff8edf --- /dev/null +++ b/Dockerfile @@ -0,0 +1,43 @@ +# Use the official Rust image +FROM rust:1.75-slim as builder + +# Set working directory +WORKDIR /app + +# Copy manifest files +COPY Cargo.toml Cargo.lock ./ + +# Copy source code +COPY src ./src + +# Build the application +RUN cargo build --release + +# Runtime stage +FROM debian:bookworm-slim + +# Install runtime dependencies +RUN apt-get update && apt-get install -y \ + ca-certificates \ + && rm -rf /var/lib/apt/lists/* + +# Create app user +RUN useradd -r -s /bin/false appuser + +# Set working directory +WORKDIR /app + +# Copy the binary from builder stage +COPY --from=builder /app/target/release/discordhose /app/discordhose + +# Change ownership to app user +RUN chown -R appuser:appuser /app + +# Switch to app user +USER appuser + +# Expose port (if needed in the future) +EXPOSE 8080 + +# Run the application +CMD ["./discordhose"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..36b8970 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,12 @@ +version: "3.8" + +services: + discordhose: + build: . + environment: + - DISCORD_WEBHOOK_URL=${DISCORD_WEBHOOK_URL} + env_file: + - .env + restart: unless-stopped + volumes: + - ./.env:/app/.env:ro -- 2.43.0