added cargo files

This commit is contained in:
2026-03-03 10:57:43 -05:00
parent 478a90e01b
commit 169df46bc2
813 changed files with 227273 additions and 9 deletions

View File

@@ -0,0 +1,46 @@
# Builder stage for compiling the Actix web application
FROM rust:bookworm AS builder
# Install build dependencies
RUN apt-get update && apt-get upgrade -y && \
apt-get install -y --no-install-recommends \
libssl-dev pkg-config build-essential
# Set the working directory
WORKDIR /app
# Copy your application files to the builder stage
COPY ./pinepods_backend/Cargo.toml ./Cargo.toml
COPY ./pinepods_backend/src ./src
# Build the Actix web application in release mode
RUN cargo build --release
# Final stage for setting up the runtime environment
FROM debian:bookworm-slim
# Metadata
LABEL maintainer="Collin Pendleton <collinp@collinpendleton.com>"
# Install runtime dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
bash curl openssl ca-certificates && \
rm -rf /var/lib/apt/lists/*
# Copy the compiled binary from the builder stage
COPY --from=builder /app/target/release/pinepods_backend /usr/local/bin/pinepods_backend
COPY ./startup.sh /startup.sh
RUN chmod +x /startup.sh
# Set the working directory
WORKDIR /
# Set environment variables if needed
ENV RUST_LOG=info
# Expose the port that Actix will run on
EXPOSE 8080
# Start the Actix web server
CMD ["/startup.sh"]