wasm-compiler-bridge / Dockerfile
josephrw's picture
Upload Dockerfile with huggingface_hub
1254909 verified
Raw
History Blame Contribute Delete
1.36 kB
FROM node:20-slim
# Install build dependencies
RUN apt-get update && apt-get install -y \
git \
python3 \
cmake \
build-essential \
curl \
wget \
ca-certificates \
xz-utils \
&& rm -rf /var/lib/apt/lists/*
# Set toolchain paths
ENV INSTALL_BASE=/opt/wasm-toolchains
ENV EMSDK_PATH=/opt/wasm-toolchains/emsdk
ENV SWIFTWASM_PATH=/opt/wasm-toolchains/swiftwasm
# --- Install Emscripten ---
RUN mkdir -p ${INSTALL_BASE} && \
git clone https://github.com/emscripten-core/emsdk.git ${EMSDK_PATH} && \
cd ${EMSDK_PATH} && \
./emsdk install latest && \
./emsdk activate latest
# --- Install SwiftWasm (Linux x86_64) ---
RUN mkdir -p ${SWIFTWASM_PATH} && \
SWIFTWASM_VERSION="swift-wasm-5.10-SNAPSHOT-2023-11-02-a" && \
SWIFTWASM_TARBALL="${SWIFTWASM_VERSION}-ubuntu22.04_x86_64.tar.gz" && \
SWIFTWASM_URL="https://github.com/swiftwasm/swift/releases/download/${SWIFTWASM_VERSION}/${SWIFTWASM_TARBALL}" && \
cd /tmp && \
curl -L -o "${SWIFTWASM_TARBALL}" "${SWIFTWASM_URL}" && \
tar xzf "${SWIFTWASM_TARBALL}" -C ${SWIFTWASM_PATH} --strip-components=1 && \
rm -f "${SWIFTWASM_TARBALL}"
# Set up app
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
# HF Space default port is 7860, but we accept PORT env
EXPOSE 7860
ENV PORT=7860
CMD ["node", "dist/server.js"]