Spaces:
Sleeping
Sleeping
File size: 1,578 Bytes
3f0377e caa9280 3f0377e 741f0d4 3f0377e 82be4d4 caa9280 3f0377e 82be4d4 3f0377e c497f3e 3f0377e caa9280 3f0377e caa9280 82be4d4 1c2b206 82be4d4 741f0d4 3f0377e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | FROM python:3.12.3-slim
ENV PIP_NO_CACHE_DIR=1 \
PIP_DISABLE_PIP_VERSION_CHECK=1 \
PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
XDG_CACHE_HOME=/tmp/cache \
MPLCONFIGDIR=/tmp/matplotlib \
NUMBA_CACHE_DIR=/tmp/numba_cache
WORKDIR /app
# 安裝系統依賴(包含 Node.js)
COPY requirements.txt ./requirements.txt
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
pkg-config \
libfreetype6-dev \
libpng-dev \
libjpeg-dev \
libopenblas-dev \
liblapack-dev \
libsndfile1 \
ffmpeg \
libasound2-dev \
portaudio19-dev \
curl \
&& curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
&& apt-get install -y nodejs \
&& pip install --no-cache-dir --prefer-binary -r requirements.txt \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir -p ${XDG_CACHE_HOME}/fontconfig \
${MPLCONFIGDIR} \
${NUMBA_CACHE_DIR} \
/tmp/voice_cache \
&& chmod -R 777 ${XDG_CACHE_HOME} \
&& chmod -R 777 ${MPLCONFIGDIR} \
&& chmod -R 777 ${NUMBA_CACHE_DIR} \
&& chmod -R 777 /tmp/voice_cache
COPY bloom-ware-login/package.json bloom-ware-login/package-lock.json ./bloom-ware-login/
RUN cd bloom-ware-login \
&& npm ci --legacy-peer-deps
COPY . .
# Build Next.js 前端靜態輸出,供 FastAPI 掛載 /login 使用
RUN cd bloom-ware-login \
&& npm run build \
&& cd ..
ENV PORT=7860
CMD ["bash", "-lc", "uvicorn app:app --host 0.0.0.0 --port ${PORT:-7860}"]
|