Parametrize CUDA_VERSION in Dockerfile

Standardized CUDA_VERSION as a global ARG to ensure consistency and facilitate version updates across the Dockerfile. This change allows the CUDA version to be defined once at the beginning and reused, reducing the chance of mismatched versions and easing maintenance when changing CUDA versions. It further streamlines the build process for potential multi-stage builds with varying CUDA dependencies.

Refs #nvidia-update
This commit is contained in:
Joseph Young 2024-03-17 02:27:06 -04:00
parent f6cef312f2
commit e3b1cbbb86

View file

@ -1,4 +1,5 @@
# syntax=docker/dockerfile:1 # syntax=docker/dockerfile:1
ARG CUDA_VERSION=12.3.2
######## WebUI frontend ######## ######## WebUI frontend ########
FROM node:21-alpine3.19 as build FROM node:21-alpine3.19 as build
@ -23,8 +24,8 @@ RUN npm run build
#RUN OPENWEBUI_CPU_TARGET="cpu_avx2" sh gen_linux.sh #RUN OPENWEBUI_CPU_TARGET="cpu_avx2" sh gen_linux.sh
######## CUDA WebUI backend ######## ######## CUDA WebUI backend ########
ARG CUDA_VERSION=12.3.2 FROM --platform=linux/amd64 nvidia/cuda:"$CUDA_VERSION"-devel-ubuntu22.04 AS cuda-build-amd64
FROM --platform=linux/amd64 nvidia/cuda:$CUDA_VERSION-devel-ubuntu22.04 AS cuda-build-amd64
# Set environment variables for NVIDIA Container Toolkit # Set environment variables for NVIDIA Container Toolkit
ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64 \ ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64 \
NVIDIA_DRIVER_CAPABILITIES=all \ NVIDIA_DRIVER_CAPABILITIES=all \