forked from WWBN/AVideo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
63 lines (45 loc) · 3.78 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
FROM ubuntu:latest
# Update SO
RUN apt-get update && apt-get upgrade -y
# Install utils
RUN apt-get install apt-transport-https lsb-release logrotate git curl vim net-tools iputils-ping -y --no-install-recommends
# Install all the rest
RUN DEBIAN_FRONTEND="noninteractive" apt-get install wget sshpass nano net-tools curl apache2 php7.4 libapache2-mod-php7.4 php7.4-mysql php7.4-curl php7.4-gd php7.4-intl php7.4-xml apache2 mysql-server mysql-client ffmpeg git libimage-exiftool-perl libapache2-mod-xsendfile python build-essential make libpcre3 libpcre3-dev libssl-dev unzip htop python3-pip -y
RUN cd /var/www/html && git clone https://github.com/WWBN/AVideo.git && cd /var/www/html && git clone https://github.com/WWBN/AVideo-Encoder.git && curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl && chmod a+rx /usr/local/bin/youtube-dl && chown www-data:www-data /var/www/html/AVideo/plugin && chmod 755 /var/www/html/AVideo/plugin && curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl && chmod a+rx /usr/local/bin/youtube-dl && a2enmod rewrite && chown www-data:www-data /var/www/html/AVideo/plugin && chmod 755 /var/www/html/AVideo/plugin && cd /var/www/html/AVideo/plugin/User_Location/install && unzip install.zip && pip3 install youtube-dl && pip3 install --upgrade youtube-dl && a2enmod expires && a2enmod headers && chmod 777 /var/www/html/AVideo/objects/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/ && mkdir /var/www/tmp && chmod 777 /var/www/tmp
# RUN mysql -u root -e "USE mysql;CREATE USER 'youphptube'@'localhost' IDENTIFIED BY 'youphptube';GRANT ALL PRIVILEGES ON *.* TO 'youphptube'@'localhost'; FLUSH PRIVILEGES; "
RUN mkdir ~/build && cd ~/build && git clone https://github.com/arut/nginx-rtmp-module.git && git clone https://github.com/nginx/nginx.git && cd nginx && ./auto/configure --with-http_ssl_module --with-http_stub_status_module --add-module=../nginx-rtmp-module --with-cc-opt="-Wimplicit-fallthrough=0" && make && make install && cd /usr/local/nginx/html && wget https://raw.githubusercontent.com/WWBN/AVideo/master/plugin/Live/install/stat.xsl && apt install python3-pip -y && pip3 install glances && apt install certbot python3-certbot-apache software-properties-common -y
# Add Ondrej's repo to the sources list
#RUN sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
# Set localtime to UTC
RUN ln -fs /usr/share/zoneinfo/UTC /etc/localtime
RUN a2enmod rewrite headers expires ssl http2 xsendfile && service apache2 restart
# Set new default virtualhost
RUN rm /etc/apache2/sites-enabled/000-default.conf
COPY deploy/apache/avideo.conf /etc/apache2/sites-enabled/avideo.conf
# Install supervisord
#RUN apt-get -y install supervisor
# Install php7.4
# RUN apt-get -y -f install php7.4 php7.4-common php7.4-cli php7.4-json php7.4-mbstring php7.4-curl php7.4-mysql php7.4-bcmath php7.4-xml php7.4-gd php7.4-zip --no-install-recommends
# COPY . /var/www/html/AVideo
WORKDIR /var/www/html/AVideo/
# Set Permision
# Create folder if not exists
#RUN mkdir /var/www/html/AVideo/videos
#RUN chown www-data:www-data /var/www/html/AVideo/videos && chmod 755 /var/www/html/AVideo/videos
#VOLUME [ "/storage/data" ]
# Manually set up the apache environment variables
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2
ENV APACHE_LOCK_DIR /var/lock/apache2
ENV APACHE_PID_FILE /var/run/apache2.pid
EXPOSE 80
EXPOSE 443
# EXPOSE 8443 for nginx HTTPS
# EXPOSE 2053 for Sockets
# EXPOSE 1935 for RTMP connection
#CMD ["supervisord"]
# By default, simply start apache.
CMD /usr/sbin/apache2ctl -D FOREGROUND
CMD /usr/local/nginx/sbin/nginx
RUN cd /var/www/html/AVideo/install && php install.php {{ .Env.webSiteRootURL }}