FROM node:latest AS frontend-builder WORKDIR /app COPY frontend/package*.json ./ RUN npm install COPY frontend/ ./ RUN npm run build FROM rust:1.87-slim AS backend-builder WORKDIR /app RUN apt-get update && \ apt-get install -y pkg-config libssl-dev build-essential ca-certificates COPY migrations/ migrations/ COPY src/ src/ COPY Cargo.toml Cargo.lock ./ RUN cargo build --release FROM debian:bookworm-slim WORKDIR /app RUN apt-get update && apt-get install -y ca-certificates openssl sqlite3 && rm -rf /var/lib/apt/lists/* RUN mkdir -p /app/data COPY --from=backend-builder /app/target/release/rick-and-morty . COPY --from=backend-builder /app/target/release/fetch_characters . COPY --from=backend-builder /app/migrations ./migrations COPY --from=frontend-builder /app/dist ./frontend/dist EXPOSE 8000 COPY entrypoint.sh /app/ RUN chmod +x /app/entrypoint.sh ENTRYPOINT ["/app/entrypoint.sh"]