docker/analytics-nginx/Dockerfile

77 lines
2.4 KiB
Docker

FROM nginx:alpine
EXPOSE 80
EXPOSE 9001
EXPOSE 22
#mysql env
ENV TIMEZONE America/NewYork
ENV MYSQL_ROOT_PASSWORD vizier01
ENV MYSQL_DATABASE vizierdb
ENV MYSQL_USER vizier
ENV MYSQL_PASSWORD vizier01
ENV MYSQL_USER_MONITORING monitoring
ENV MYSQL_PASSWORD_MONITORING monitoring
#php env
ENV PHP_FPM_USER="nginx"
ENV PHP_FPM_GROUP="nginx"
ENV PHP_FPM_LISTEN_MODE="0660"
ENV PHP_MEMORY_LIMIT="512M"
ENV PHP_MAX_UPLOAD="50M"
ENV PHP_MAX_FILE_UPLOAD="200"
ENV PHP_MAX_POST="100M"
ENV PHP_DISPLAY_ERRORS="On"
ENV PHP_DISPLAY_STARTUP_ERRORS="On"
ENV PHP_ERROR_REPORTING="E_COMPILE_ERROR\|E_RECOVERABLE_ERROR\|E_ERROR\|E_CORE_ERROR"
ENV PHP_CGI_FIX_PATHINFO=0
#owq env
ENV OWA_PUBLIC_URL="http:\/\/localhost\/"
COPY nginx.conf /etc/nginx/nginx.conf
COPY mime.types /etc/nginx/mime.types
RUN apk add --no-cache nginx openssh supervisor curl git \
mysql php7-fpm php7-mcrypt php7-soap php7-openssl \
php7-gmp php7-pdo_odbc php7-json php7-dom \
php7-pdo php7-zip php7-mysqli php7-sqlite3 \
php7-apcu php7-pdo_pgsql php7-bcmath php7-gd \
php7-odbc php7-pdo_mysql php7-pdo_sqlite \
php7-gettext php7-xmlreader php7-xmlrpc php7-bz2 \
php7-iconv php7-pdo_dblib php7-curl php7-ctype \
&& rm /etc/nginx/conf.d/default.conf \
&& addgroup mysql mysql \
&& mkdir -p /var/run/php \
&& mkdir -p /var/run/mysql
#setup ssh
RUN echo 'root:odinlab' |chpasswd
RUN sed -ri 's/^#?PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config \
&& sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config \
&& ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa \
&& ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa \
&& ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key -N '' -t ecdsa \
&& ssh-keygen -f /etc/ssh/ssh_host_ed25519_key -N '' -t ed25519
#setup open web analytics
ARG OWA_ARCHIVE=https://github.com/padams/Open-Web-Analytics/archive/1.6.2.tar.gz
RUN mkdir -p /usr/local/owa \
&& curl -sL $OWA_ARCHIVE | gunzip | tar --strip-components=1 -x -C /usr/local/owa Open-Web-Analytics-1.6.2 \
&& chown -R nginx:nginx /usr/local/owa
COPY vizier.conf /etc/nginx/conf.d/vizier.conf
COPY init_mysql.sh /usr/local/init_mysql.sh
COPY init_php.sh /usr/local/init_php.sh
COPY init_owa.sh /usr/local/init_owa.sh
COPY entrypoint.sh /usr/local/entrypoint.sh
COPY supervisord.conf /etc/supervisord.conf
RUN chmod +x /usr/local/init_mysql.sh \
/usr/local/init_php.sh \
/usr/local/init_owa.sh \
/usr/local/entrypoint.sh
ENTRYPOINT ["\/bin\/sh", "-c", "/usr/local/entrypoint.sh"]