youPHPtube/encoder/Dockerfile

37 lines
1.6 KiB
Docker

FROM php:7-apache
ENV DOMAIN localhost
ENV DOMAIN_PROTOCOL http
ENV ADMIN_PASSWORD password
ENV DB_HOST mysql
ENV DB_USER avideo
ENV DB_PASSWORD password
ENV PHP_MEMORY_LIMIT 2048M
ADD install.php /root/
ADD entrypoint.sh /usr/local/bin/
WORKDIR /var/www/html
RUN apt-get update \
&& apt-get install -y wget git zip default-libmysqlclient-dev libbz2-dev libmemcached-dev libsasl2-dev libfreetype6-dev libicu-dev libjpeg-dev libmemcachedutil2 libpng-dev libxml2-dev mariadb-client ffmpeg libimage-exiftool-perl python3 curl python3-pip libzip-dev libonig-dev \
&& docker-php-ext-configure gd --with-freetype=/usr/include --with-jpeg=/usr/include \
&& docker-php-ext-install -j$(nproc) bcmath bz2 calendar exif gd gettext iconv intl mbstring mysqli opcache pdo_mysql zip \
&& rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/* /root/.cache \
&& a2enmod rewrite \
&& service apache2 restart \
&& curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl \
&& chmod a+rx /usr/local/bin/youtube-dl \
&& pip3 install -U youtube-dl \
&& echo "post_max_size = 10G\nupload_max_filesize = 10G" > $PHP_INI_DIR/conf.d/upload.ini \
&& echo "memory_limit = $PHP_MEMORY_LIMIT" > $PHP_INI_DIR/conf.d/memory.ini \
&& echo "max_execution_time = 72000" > $PHP_INI_DIR/conf.d/execution_time.ini \
&& git clone https://github.com/WWBN/AVideo-Encoder.git \
&& mv AVideo-Encoder/* . \
&& mv AVideo-Encoder/.[!.]* . \
&& rm -rf AVideo-Encoder \
&& chmod a+rx /usr/local/bin/entrypoint.sh \
&& chown -R www-data:www-data /var/www/html
VOLUME ["/var/www/html/videos"]
CMD ["entrypoint.sh"]