FROM ubuntu:24.04 # Cập nhật và cài đặt các gói hệ thống cần thiết RUN apt-get update && apt-get install -y --no-install-recommends \ libglib2.0-0 \ libnss3 \ libnspr4 \ libatk1.0-0 \ libatk-bridge2.0-0 \ libcups2 \ libdrm2 \ libdbus-1-3 \ libxcb1 \ libxkbcommon0 \ libx11-6 \ libxcomposite1 \ libxdamage1 \ libxext6 \ libxfixes3 \ libxrandr2 \ libgbm1 \ libpango-1.0-0 \ libcairo2 \ libatspi2.0-0 \ libwoff1 \ libopus0 \ libwebp7 \ libwebpdemux2 \ libenchant-2-2 \ libgudev-1.0-0 \ libsecret-1-0 \ libhyphen0 \ libgdk-pixbuf2.0-0 \ libegl1 \ libnotify4 \ libxslt1.1 \ libevent-2.1-7 \ libgles2 \ libepoxy0 \ libgtk-3-0 \ libharfbuzz-icu0 \ libgstreamer-gl1.0-0 \ libgstreamer-plugins-bad1.0-0 \ gstreamer1.0-plugins-good \ gstreamer1.0-plugins-bad \ libxt6 \ libxaw7 \ xvfb \ fonts-noto-color-emoji \ libfontconfig \ libfreetype6 \ xfonts-cyrillic \ xfonts-scalable \ fonts-liberation \ fonts-ipafont-gothic \ fonts-wqy-zenhei \ fonts-tlwg-loma-otf \ fonts-freefont-ttf \ python3-pip \ python3-venv \ ffmpeg \ libsm6 \ libxext6 \ poppler-utils \ chromium \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # Cài đặt môi trường ảo Python RUN python3 -m venv /code/venv ENV PATH="/code/venv/bin:$PATH" # Cài đặt các thư viện Python cần thiết RUN pip install --no-cache-dir --upgrade pip setuptools wheel # Cài đặt Playwright và các phần phụ thuộc RUN pip install playwright RUN playwright install RUN playwright install-deps # Sao chép mã nguồn COPY ./requirements.txt /code/requirements.txt RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt # Sao chép mã nguồn vào container COPY . . # Thiết lập thư mục làm việc WORKDIR /code # Mở các cổng cần thiết cho ứng dụng EXPOSE 7860 EXPOSE 9222 # Khởi động ứng dụng CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]