-
-
Notifications
You must be signed in to change notification settings - Fork 175
Expand file tree
/
Copy pathlambda.Dockerfile
More file actions
26 lines (24 loc) · 877 Bytes
/
Copy pathlambda.Dockerfile
File metadata and controls
26 lines (24 loc) · 877 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
FROM node:26-slim AS frontend
WORKDIR /usr/src/sqlpage
COPY package.json package-lock.json ./
RUN npm ci --omit=dev --ignore-scripts
FROM rust:1.95-alpine AS builder
RUN rustup component add clippy rustfmt
RUN apk add --no-cache musl-dev zip
WORKDIR /usr/src/sqlpage
RUN cargo init .
COPY Cargo.toml Cargo.lock ./
RUN cargo build --release
COPY . .
COPY --from=frontend /usr/src/sqlpage/node_modules node_modules
RUN cargo build --release --features lambda-web
RUN mv target/release/sqlpage bootstrap && \
strip --strip-all bootstrap && \
size bootstrap && \
zip -9 -j deploy.zip bootstrap src/index.sql && \
zip -9 deploy.zip sqlpage/
FROM public.ecr.aws/lambda/provided:al2023 AS runner
COPY --from=builder /usr/src/sqlpage/bootstrap /main
COPY --from=builder /usr/src/sqlpage/src/index.sql ./index.sql
RUN mkdir -p ./sqlpage
ENTRYPOINT ["/main"]