cloud-browser-engine / Dockerfile
raw9's picture
Update Dockerfile
786a4fe verified
# ==========================================
# Omni-Digital Cloud Engine - Dockerfile
# Version: 4.0 (Enterprise Stealth)
# ==========================================
# ১. প্লে-রাইটের নিজস্ব ১০০% অফিশিয়াল উবুন্টু (Ubuntu Jammy) বেস ইমেজ।
# এতে ক্রোমিয়াম এবং তার সমস্ত ব্রাউজার ডিপেন্ডেন্সি আগে থেকেই বিল্ড করা আছে।
FROM mcr.microsoft.com/playwright/python:v1.41.2-jammy
# ২. এনভায়রনমেন্ট ভ্যারিয়েবল এবং টাইমজোন (Webhook/Scheduler এর জন্য) সেটআপ
ENV DEBIAN_FRONTEND=noninteractive
ENV PYTHONUNBUFFERED=1
ENV TZ=Asia/Dhaka
# ৩. ওয়ার্কিং ডিরেক্টরি সেটআপ
WORKDIR /app
# ৪. রুট ইউজার হিসেবে ফাইল পারমিশন এবং প্যাকেজ হ্যান্ডলিং
USER root
# ৫. পারসিস্টেন্ট সেশন (Persistent Sessions) এবং ডেটা স্টোরেজের জন্য ফোল্ডার তৈরি
RUN mkdir -p /app/sessions
# ৬. পাইথন প্যাকেজ কপি এবং জিরো-ক্যাশে ইনস্টলেশন (ইমেজ সাইজ ছোট রাখার জন্য)
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# ৭. প্রোজেক্টের সমস্ত কোর ফাইল (main.py ইত্যাদি) কপি করা
COPY . .
# ৮. হাগিং ফেস (Hugging Face) স্পেস সিকিউরিটি এবং পারমিশন পলিসি
# (HF ডিফল্টভাবে user id 1000 দিয়ে কন্টেইনার রান করে, তাই 777 পারমিশন দেওয়া হলো)
RUN chmod -R 777 /app
# ৯. ক্লাউড এপিআই পোর্ট ওপেন করা
EXPOSE 7860
# ১০. সার্ভার রান করার মাস্টার কমান্ড
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]