scramjet / Dockerfile
soiz1's picture
Update Dockerfile
970bd47 verified
# ベースイメージ(Node.jsとpnpmを含む)
FROM node:20
# 作業ディレクトリを設定
WORKDIR /app
COPY . .
# Rustインストール用スクリプトを使う
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
# パスを通す(cargoを使えるように)
ENV PATH="/root/.cargo/bin:${PATH}"
RUN rustup update stable
RUN curl -L https://github.com/WebAssembly/binaryen/releases/download/version_123/binaryen-version_123-x86_64-linux.tar.gz \
| tar -xz -C /usr/local --strip-components=1
RUN cd /app/rewriter && cargo update
RUN cargo install wasm-bindgen-cli
RUN cargo install wasm-snip
RUN apt-get update && apt-get install -y binaryen
# bash をインストール
RUN apt-get update && apt-get install -y bash
RUN chmod +x rewriter/wasm/build.sh
SHELL ["/bin/bash", "-c"]
# pnpm をグローバルにインストール
RUN npm install -g pnpm
# 依存関係をインストール
RUN pnpm install
RUN pnpm rewriter:build
RUN bash rewriter/wasm/build.sh
# Scramjet 全体をビルド
RUN pnpm build
# ポート1337を開放
EXPOSE 1337
# 開発サーバーを起動(ファイル変更に追従)
CMD ["pnpm", "dev"]