1- FROM node:16.15 -slim as client
1+ FROM node:24 -slim as client
22WORKDIR /app
33ENV PATH /app/node_modules/.bin:$PATH
44COPY app/client/package.json ./
55COPY app/client/package-lock.json ./
66COPY app/client/.env.* ./
77RUN npm ci --silent
8- RUN npm install react-scripts@5.0.1 -g --silent && npm cache clean --force;
98COPY app/client/ ./
109RUN npm run build
1110
@@ -95,8 +94,12 @@ COPY --from=ffmpeg-builder /usr/local/lib/lib* /usr/local/lib/
9594# Install runtime dependencies
9695RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
9796 DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
97+ software-properties-common \
98+ && add-apt-repository ppa:deadsnakes/ppa \
99+ && DEBIAN_FRONTEND=noninteractive apt-get update \
100+ && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
98101 nginx-extras supervisor \
99- python3.9 python3-pip python3-dev \
102+ python3.14 python3.14-dev python3.14-venv \
100103 libldap2-dev libsasl2-dev libssl-dev \
101104 libffi-dev libc-dev \
102105 build-essential \
@@ -106,6 +109,10 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
106109 libx264-163 libx265-199 libvpx7 libaom3 \
107110 libopus0 libvorbis0a libvorbisenc2 \
108111 libass9 libfreetype6 libmp3lame0 \
112+ && python3.14 -m ensurepip --upgrade \
113+ && python3.14 -m pip install --upgrade --break-system-packages pip \
114+ && ln -sf /usr/bin/python3.14 /usr/bin/python3 \
115+ && ln -sf /usr/bin/python3.14 /usr/bin/python \
109116 && rm -rf /var/lib/apt/lists/*
110117
111118# Create symlinks and configure library path
@@ -130,10 +137,9 @@ COPY app/server/ /app/server
130137COPY migrations/ /migrations
131138COPY --from=client /app/build /app/build
132139COPY --from=client /app/package.json /app
133- RUN pip install --no-cache-dir /app/server
140+ RUN python3.14 -m pip install --no-cache-dir --break-system-packages --ignore-installed /app/server
134141
135142ENV FLASK_APP /app/server/fireshare:create_app()
136- ENV FLASK_ENV production
137143ENV ENVIRONMENT production
138144ENV DATA_DIRECTORY /data
139145ENV VIDEO_DIRECTORY /videos
0 commit comments