# syntax=docker/dockerfile:1 FROM rust:1 as builder WORKDIR /app COPY Cargo.toml Cargo.lock ./ COPY src ./src RUN cargo build --release FROM debian:stable-slim RUN useradd -m -u 10001 appuser && \ apt-get update && apt-get upgrade -y && \ apt-get install -y ca-certificates dnsutils jq curl git wget telnet npm coreutils iputils-ping \ build-essential autoconf automake libtool pkg-config cmake ninja-build clang lldb lld make \ tree ncdu mc exuberant-ctags cscope vim emacs sed gawk inetutils-tools iputils-* net-tools iproute2 \ python3 python3-pip python3-dev && \ apt-get install -y golang-go && \ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && \ npm install -g wscat && \ rm -rf /var/lib/apt/lists/* /root/.npm && \ ln -s /usr/bin/python3 /usr/bin/python WORKDIR /app COPY --from=builder /app/target/release/sdk_storage /usr/local/bin/sdk_storage RUN mkdir -p /app/storage && chown -R appuser:appuser /app USER appuser EXPOSE 8081 ENV RUST_LOG=info ENTRYPOINT ["/usr/local/bin/sdk_storage"] CMD ["--permanent"]