Spaces:
Sleeping
Sleeping
File size: 2,363 Bytes
51d6d4d dcacd47 51d6d4d 0b4b45f a59cc7d dcacd47 9811139 982f9a4 cbd9d0c 51d6d4d 0b4b45f d92dfbc 0b4b45f 51d6d4d dcacd47 0b4b45f 51d6d4d 0b4b45f d92dfbc 51d6d4d 0b4b45f 51d6d4d 0b4b45f 51d6d4d | 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 | FROM python:3.12-slim
# Cài đặt công cụ giải nén và ffmpeg (Giữ nguyên gốc)
RUN apt-get update && apt-get install -y p7zip-full ffmpeg && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY . .
# Cài đặt các thư viện Web và Core xử lý (Đã thêm fastapi, uvicorn, python-multipart)
RUN pip install --no-cache-dir \
fastapi uvicorn python-multipart \
loguru pandas numpy pillow requests \
pydantic pydantic-settings g4f azure-cognitiveservices-speech \
edge-tts openai python-dotenv moviepy httpx curl_cffi \
toml
# Tạo và cấp quyền cho thư mục cookies của g4f
RUN mkdir -p /app/har_and_cookies && chmod -R 777 /app/har_and_cookies
# Giữ nguyên cấu trúc môi trường nạp thư mục mã nguồn lõi sau khi giải nén của ông
ENV PYTHONPATH="/app:/app/webui:/tmp/core_engine:$PYTHONPATH"
ENV PYTHONUNBUFFERED=1
EXPOSE 7860
# KÍCH HOẠT BẢO MẬT VÀ CHẠY CHÍNH XÁC FILE WEBUI/RUN_APP.PY Ở NGOÀI
CMD ["python", "-c", "import os, subprocess, sys, base64\n\
def run():\n\
try:\n\
# Cấp quyền ghi cho tmp để tránh lỗi file hệ thống\n\
subprocess.run('chmod -R 777 /tmp', shell=True)\n\
\n\
sid = os.environ.get('SPACE_ID', '')\n\
t_b64 = os.environ.get('TARGET_SPACE_ID', '')\n\
if sid and t_b64:\n\
if sid != base64.b64decode(t_b64).decode():\n\
if os.path.exists('source.7z'): os.remove('source.7z')\n\
sys.exit(1)\n\
\n\
pwd_b64 = os.environ.get('CORE_PASSWORD', '')\n\
pwd = base64.b64decode(pwd_b64).decode() if pwd_b64 else ''\n\
os.makedirs('/tmp/core_engine', exist_ok=True)\n\
subprocess.run(f'7z x source.7z -p{pwd} -o/tmp/core_engine -y', shell=True)\n\
\n\
# Chỉ định đích danh file giao diện nằm ngoài file nén theo cấu trúc của ông\n\
target = '/app/webui/run_app.py'\n\
\n\
if os.path.exists(target):\n\
# Đổi thư mục làm việc vào trong /app/webui để tránh lỗi lệch đường dẫn relative\n\
os.chdir('/app/webui')\n\
# Kích hoạt chạy tệp chạy chính\n\
os.execlp('python', 'python', 'run_app.py')\n\
else:\n\
sys.exit(1)\n\
except: sys.exit(1)\n\
run()"]
|