flow / Dockerfile
digidau's picture
Update Dockerfile
cd6b085 verified
Raw
History Blame Contribute Delete
1.23 kB
FROM node:24-alpine
# Set user ke root agar memiliki akses untuk mengubah /etc/resolv.conf
USER root
# Install system dependencies yang dibutuhkan Streamflow (terutama ffmpeg)
RUN apk add --no-cache \
git python3 make g++ build-base \
ffmpeg wget tzdata
# Set environment variables
# Hugging Face Space mendengarkan port 7860 secara default
ENV PORT=7860
ENV HOST=0.0.0.0
# Buat dan set direktori kerja
WORKDIR /app
# Clone repository Streamflow langsung dari GitHub
RUN git clone https://github.com/bangtutorial/streamflow.git .
# Install dependensi Node.js untuk Streamflow
RUN npm install
# Berikan izin akses penuh ke direktori kerja agar tidak ada isu permission di HF
RUN chmod -R 777 /app
# --- BAGIAN KRUSIAL: SCRIPT DNS ---
# Membuat script untuk mengganti DNS sebelum menjalankan Streamflow
RUN printf '#!/bin/sh\n\
echo "nameserver 8.8.8.8" > /etc/resolv.conf\n\
echo "nameserver 8.8.4.4" >> /etc/resolv.conf\n\
echo "DNS successfully set to Google DNS (8.8.8.8)"\n\
# Mengeksekusi Streamflow\n\
exec npm start\n' > /docker-entrypoint.sh && \
chmod +x /docker-entrypoint.sh
# Expose port yang digunakan
EXPOSE 7860
# Jalankan via script injeksi DNS
ENTRYPOINT ["/bin/sh", "/docker-entrypoint.sh"]