# Sử dụng Base Image đã có sẵn Python và Nodejs FROM nikolaik/python-nodejs:python3.10-nodejs18 # --- Cài đặt Nginx và cấp quyền cho 'pn' --- USER root RUN apt-get -y update && apt-get -y install nginx RUN mkdir -p /var/cache/nginx \ /var/log/nginx \ /var/lib/nginx RUN touch /var/run/nginx.pid RUN chown -R pn:pn /var/cache/nginx \ /var/log/nginx \ /var/lib/nginx \ /var/run/nginx.pid # --- Cài đặt dependencies và xây dựng app --- USER pn ENV HOME=/home/pn \ PATH=/home/pn/.local/bin:$PATH RUN mkdir $HOME/app WORKDIR $HOME/app # COPY files and install dependencies COPY --chown=pn requirements.txt requirements.txt RUN pip install --no-cache-dir -r requirements.txt # Copy cấu hình Nginx COPY --chown=pn nginx.conf /etc/nginx/sites-available/default # Copy mã nguồn COPY --chown=pn app_gradio.py app_gradio.py COPY --chown=pn app_streamlit.py app_streamlit.py COPY --chown=pn run.sh run.sh # Mở cổng 4444 (hoặc cổng mà bạn muốn Nginx lắng nghe) EXPOSE 4444 # Lệnh Khởi động CMD ["bash", "run.sh"]