Something went wrong. Try again.
Monorepo for Aesthetic.Computer aesthetic.computer
Something went wrong. Try again.
Dockerfile
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879FROM fedora:latest
ENV DISPLAY=:1ENV XVFB_RESOLUTION=320x240x24ENV LD_LIBRARY_PATH=/usr/local/libENV DBUS_SESSION_BUS_ADDRESS=/dev/null
WORKDIR /app
# --- Base system and dependencies ---RUN dnf install -y \ git wget curl tar make gcc gcc-c++ \ autoconf automake libtool cmake \ nasm yasm \ xorg-x11-server-Xvfb \ chromium \ pulseaudio pulseaudio-utils alsa-utils libXScrnSaver \ pulseaudio-libs-devel \ freetype-devel fontconfig-devel libass-devel \ lame-devel opus-devel libvpx-devel \ openssl-devel pcre-devel zlib-devel \ libX11-devel libXfixes-devel \ dbus \ pkgconfig && \ mkdir -p /run/dbus && \ dnf clean all
# --- Build and install x264 from source ---WORKDIR /tmpRUN git clone https://code.videolan.org/videolan/x264.git && \ cd x264 && \ ./configure --prefix=/usr/local --enable-shared --disable-cli && \ make -j$(nproc) && \ make install
# --- Build and install FFmpeg with libx264 ---WORKDIR /tmpRUN git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg && \ cd ffmpeg && \ PKG_CONFIG_PATH="/usr/local/lib/pkgconfig" ./configure \ --prefix=/usr/local \ --enable-gpl \ --enable-libx264 \ --enable-libfreetype \ --enable-libass \ --enable-libpulse \ --enable-libopus \ --enable-libmp3lame \ --enable-libvpx \ --enable-libfontconfig \ --enable-shared \ --disable-static && \ make -j$(nproc) && \ make install && \ ldconfig
# --- Build and install nginx with RTMP module ---WORKDIR /tmpRUN curl -LO http://nginx.org/download/nginx-1.25.4.tar.gz && \ tar -xzf nginx-1.25.4.tar.gz && \ git clone https://github.com/arut/nginx-rtmp-module.git && \ cd nginx-1.25.4 && \ ./configure --add-module=../nginx-rtmp-module && \ make && \ make install
# --- Setup app ---WORKDIR /appCOPY stream.sh .COPY nginx.conf /usr/local/nginx/conf/nginx.confRUN chmod +x stream.sh
EXPOSE 1935EXPOSE 8080EXPOSE 9222
CMD ["./stream.sh"]