Dockerfile 707 B

123456789101112131415161718192021222324252627282930
  1. FROM rust:1.77.2 AS builder
  2. ARG NODE_VERSION=20.2
  3. WORKDIR /app
  4. # Install nvm
  5. RUN wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
  6. # set env
  7. ENV NVM_DIR=/root/.nvm
  8. # install node
  9. RUN bash -c "source $NVM_DIR/nvm.sh && nvm install $NODE_VERSION"
  10. COPY . .
  11. RUN cargo build --all --locked && \
  12. cargo install wasm-pack --locked && \
  13. wasm-pack build engine && \
  14. wasm-pack build examples
  15. RUN bash -c "source $NVM_DIR/nvm.sh && cd examples/webapp && npm install && npm run build"
  16. FROM busybox:1.35 AS runner
  17. RUN adduser -D static
  18. USER static
  19. WORKDIR /home/static
  20. COPY --from=builder /app/examples/webapp/dist .
  21. CMD ["busybox", "httpd", "-f", "-v", "-p", "8080" ]