Files
netrunner-landing/proxy-ws/Dockerfile
T

30 lines
858 B
Docker

# Stage 1: Базовый образ
FROM lukemathwalker/cargo-chef:latest-rust-alpine AS chef
WORKDIR /app
RUN apk add --no-cache musl-dev
# Stage 2: Рецепт
FROM chef AS planner
COPY . .
RUN cargo chef prepare --recipe-path recipe.json
# Stage 3: Сборка
FROM chef AS builder
COPY --from=planner /app/recipe.json recipe.json
RUN cargo chef cook --release --recipe-path recipe.json
COPY . .
RUN cargo build --release
# Stage 4: Финальный Alpine (Чистый Rust не требует glibc)
FROM alpine:latest
WORKDIR /app
# Ставим сертификаты (нужны для запросов к PocketBase по https)
RUN apk add --no-cache ca-certificates
COPY --from=builder /app/target/release/proxy-ws ./proxy-ws
# Не забудь про папку с моделью!
COPY ./models ./models
EXPOSE 3001
CMD ["./proxy-ws"]