diff --git a/services/worker/Dockerfile.gpu b/services/worker/Dockerfile.gpu new file mode 100644 index 0000000..427a6a2 --- /dev/null +++ b/services/worker/Dockerfile.gpu @@ -0,0 +1,23 @@ +# GPU-accelerated worker — requires NVIDIA Container Toolkit on the host +# Build: docker compose -f docker-compose.yml -f docker-compose.gpu.yml build worker +# +# Prerequisites: +# - NVIDIA drivers installed on host +# - NVIDIA Container Toolkit: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/ +# - GPU capability in docker-compose.gpu.yml enables NVENC access + +FROM nvcr.io/nvidia/cuda:12.3.1-base-ubuntu22.04 + +# Install Node.js 20 and ffmpeg (Ubuntu's ffmpeg includes h264_nvenc/hevc_nvenc) +RUN apt-get update && apt-get install -y --no-install-recommends \ + curl ca-certificates ffmpeg \ + && curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \ + && apt-get install -y --no-install-recommends nodejs \ + && apt-get clean && rm -rf /var/lib/apt/lists/* + +WORKDIR /app +COPY package*.json ./ +RUN npm ci --omit=dev +COPY src ./src + +CMD ["node", "src/index.js"]