Dockerfile 673 B

1234567891011121314151617181920212223242526272829
  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. RUN bash -c "source $NVM_DIR/nvm.sh && cd examples/webapp && npm install && npm run build"
  15. FROM busybox:1.35 AS runner
  16. RUN adduser -D static
  17. USER static
  18. WORKDIR /home/static
  19. COPY --from=builder /app/examples/webapp/dist .
  20. CMD ["busybox", "httpd", "-f", "-v", "-p", "8080" ]