FROM docker.1ms.run/rust:alpine AS builder
RUN apk add --no-cache \
musl-dev \
openssl-dev \
pkgconfig \
perl \
make
WORKDIR /app
COPY . .
RUN rustup target add x86_64-unknown-linux-musl && \
cargo build --release --target x86_64-unknown-linux-musl
RUN strip target/x86_64-unknown-linux-musl/release/qiluo
RUN ls -lh target/x86_64-unknown-linux-musl/release/qiluo
FROM docker.1ms.run/alpine:latest
RUN apk add --no-cache ca-certificates && \
addgroup -S qiluo && adduser -S qiluo -G qiluo && \
mkdir -p /app/data && \
chown -R qiluo:qiluo /app
WORKDIR /app
COPY --from=builder --chown=qiluo:qiluo /app/target/x86_64-unknown-linux-musl/release/qiluo .
USER qiluo
EXPOSE 5001
CMD ["./qiluo"]