You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

342 lines
10 KiB

FROM docker.io/rockylinux/rockylinux:8.5
LABEL "co.com.sapian.vendor"="Sapian SAS"
#cc_005_all_rpm_update.sh
RUN dnf -y update && dnf clean all
#cc_101_all_config_os.sh
RUN mkdir -p /home/backup/misc \
&& mkdir -p /usr/share/astguiclient \
&& mkdir -p /var/log/astguiclient \
&& mkdir -p /var/lib/asterisk/ \
&& mkdir -p /var/lib/asterisk/agi-bin \
&& mkdir -p /var/lib/asterisk/sounds \
&& mkdir -p /var/spool/asterisk/monitor \
&& mkdir -p /usr/src/astguiclient
#cc_107_all_rpm_repo_epel.sh
RUN dnf install -y \
dnf-utils \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm \
https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-8.noarch.rpm \
https://rpms.remirepo.net/enterprise/remi-release-8.rpm \
#module reset php \
&& dnf clean all
RUN dnf config-manager --set-enabled powertools
RUN dnf -y install make gcc expat-devel
RUN dnf -y install python3 python3-pip
#cc_109_all_rpm_install.sh part 1
RUN dnf -y install \
perl-Algorithm-Diff \
perl-Archive-Tar \
perl-Archive-Zip \
perl-B-Hooks-EndOfScope \
perl-Class-Load \
perl-Class-Load-XS \
perl-Class-Mix \
perl-Crypt-Eksblowfish \
perl-Crypt-RC4 \
perl-BSD-Resource \
perl-Cache-Cache \
perl-Compress-Raw-Zlib \
perl-Crypt-DES \
perl-Curses \
perl-DBD-mysql \
perl-Data-Dump \
perl-DateManip \
perl-DBI \
perl-Data-OptList \
perl-Date-Manip \
perl-Devel-GlobalDestruction \
perl-Devel-StackTrace \
perl-DBD-MySQL \
perl-Digest-HMAC \
perl-Digest-Perl-MD5 \
perl-Digest-SHA1 \
perl-Dist-CheckConflicts \
perl-Encode-Locale \
perl-Error \
perl-Eval-Closure \
perl-File-Listing \
perl-File-Remove \
perl-File-Slurp \
perl-File-Temp \
perl-Font-AFM \
perl-GD \
perl-HTML-Format \
perl-Digest-SHA \
perl-ExtUtils-CBuilder \
perl-File-HomeDir \
perl-File-Which \
perl-HTML-Parser \
perl-HTML-Tagset \
perl-HTML-Tree \
perl-HTTP-Cookies \
perl-HTTP-Daemon \
perl-HTTP-Date \
perl-HTTP-Message \
perl-HTTP-Negotiate \
perl-IO-HTML \
perl-IO-Socket-SSL \
perl-IO-String \
perl-IO-Tty \
perl-HTML-Template \
perl-IO-Compress-Base \
perl-IO-stringy \
perl-Inline \
perl-Jcode \
perl-LWP-MediaTypes \
perl-Linux-Pid \
perl-List-MoreUtils \
perl-MIME-Types \
perl-MIME-tools \
perl-MRO-Compat \
perl-Mail-Box \
perl-Mail-IMAPClient \
perl-libwww-perl \
perl-Mail-Sendmail \
perl-MailTools \
perl-Module-Implementation \
perl-Module-Runtime \
perl-Moose \
perl-Module-Install \
perl-Net-Daemon \
perl-Net-HTTP \
perl-Net-SFTP-Foreign \
perl-Net-SSLeay \
perl-Net-Server \
perl-Net-SNMP \
perl-Net-Telnet \
perl-OLE-Storage_Lite \
perl-Object-Realize-Later \
perl-Package-DeprecationManager \
perl-Package-Stash \
perl-Package-Stash-XS \
perl-Params-Classify \
perl-Params-Util \
perl-Parse-RecDescent \
perl-Proc-ProcessTable \
perl-rrdtool \
perl-Set-Scalar \
perl-Socket6 \
perl-Spiffy \
perl-Spreadsheet-XLSX \
perl-Spreadsheet-ParseExcel \
perl-Spreadsheet-WriteExcel \
perl-Spreadsheet-XLSX \
perl-Sub-Exporter \
perl-Sub-Exporter-Progressive \
perl-Sub-Install \
perl-Sub-Name \
perl-Switch \
perl-Task-Weaken \
perl-Test-NoWarnings \
perl-Text-CSV \
perl-Text-CSV_XS \
perl-Text-Diff \
perl-Tie-IxHash \
perl-Time-Local \
perl-TimeDate \
perl-Try-Tiny \
perl-URI \
perl-TermReadKey \
perl-Term-ReadLine-Gnu \
perl-Test-Base \
perl-Text-Glob \
perl-Unicode-Map \
perl-User-Identity \
perl-Variable-Magic \
perl-WWW-Curl \
perl-WWW-RobotRules \
perl-XML-LibXML \
perl-XML-NamespaceSupport \
perl-XML-Parser \
perl-XML-SAX \
perl-XML-SAX-Base \
perl-XML-Simple \
perl-XML-XPath \
perl-gettext \
perl-libwww-perl \
perl-namespace-clean \
perl-URI \
perl-YAML \
perl-YAML-Tiny \
perl-Text-CSV \
perl-Time-HiRes \
cpan \
perl-App-cpanminus \
unzip && dnf clean all
##cc_109_all_rpm_install.sh perl cpanm part 1
RUN PREFIX='/usr/local' INSTALL_BASE='' && cpanm \
Config::Crontab \
FileHandle::Unget \
HTML::Strip \
IO::Pty::Easy \
Mail::Mbox::MessageParser \
Mail::POP3Client \
Spreadsheet::Read \
Test::Tester
#cc_109_all_rpm_install.sh part 2
RUN dnf -y install \
alsa-lib \
apr \
apr-util \
audiofile \
autoconf \
automake \
cpp \
curl \
curl-devel \
device-mapper-multipath \
gcc \
glib2-devel \
glibc-devel \
glibc-headers \
iftop \
imake \
kernel-devel \
kernel-headers \
libc-client \
libgomp \
libidn-devel \
libmcrypt \
libnet \
libogg \
libcap \
libpcap-devel \
libpng-devel \
libtermcap-devel \
libvorbis \
libxml2 \
libxml2-devel \
libxslt \
libX11-devel \
libXau-devel \
libXdmcp-devel \
mesa-libGL-devel \
ncurses \
ncurses-devel \
openssl-devel \
pkgconfig \
#pycairo *\
pygtk2 \
pygobject2 \
#pyorbit *\
screen \
shared-mime-info \
smartmontools \
sox \
speex \
speex-devel \
subversion \
vim-enhanced \
yum-utils \
zlib-devel \
gcc-c++ \
gsm-devel \
wget \
patch \
mutt \
glibc.i686 \
ImageMagick \
htop \
iftop \
libuuid-devel \
#sipsak \
jansson-devel \
git \
restic \
python3-pip \
&& dnf clean all
#cc_109_all_rpm_install.sh part 3
RUN dnf -y install \
mod_ssl \
php \
php-cli \
php-common \
php-gd \
php74-php-imap \
php74-php-imagick \
php-ldap \
php-mbstring \
php74-php-pecl-mcrypt \
php-mysqlnd \
php-pdo \
php-pear \
php-devel \
gd-devel \
php-odbc \
php-xml \
php-xmlrpc \
sqlite-devel \
&& dnf clean all
RUN dnf -y install \
php-pecl-apcu \
apcu-panel \
php-pecl-zendopcache \
&& dnf clean all
RUN PREFIX='/usr/local' INSTALL_BASE='/usr/share/astguiclient/libs' cpanm Spreadsheet::Read --force
RUN PREFIX='/usr/local' INSTALL_BASE='/usr/share/astguiclient/libs' cpanm IO::Scalar --force
RUN PREFIX='/usr/local' INSTALL_BASE='/usr/share/astguiclient/libs' cpanm Net::Telnet --force
RUN pip3 install j2cli
#cc_114_all_httpd_config.sh
RUN sed -i -e 's/post_max_size =.*$/post_max_size = 256M/' /etc/php.ini \
&& sed -i -e 's/max_execution_time =.*$/max_execution_time = 180/' /etc/php.ini \
&& sed -i -e 's/max_input_time =.*$/max_input_time = 180/' /etc/php.ini \
&& sed -i -e 's/upload_max_filesize =.*$/upload_max_filesize = 64M/' /etc/php.ini \
&& sed -i -e 's/memory_limit =.*$/memory_limit = 256M/' /etc/php.ini \
&& sed -i -e 's/^error_reporting =.*$/error_reporting = E_ALL \& ~E_DEPRECATED \& ~E_STRICT \& ~E_NOTICE/' /etc/php.ini \
&& sed -i "s/^\;date\.timezone.*$/date\.timezone = \America\/Bogota\ /g" /etc/php.ini \
&& sed -i -e 's/^;apc.shm_size.*$/apc.shm_size=256/' /etc/php.d/40-apcu.ini
COPY docker/vicidial-http/conf/status.conf /etc/httpd/conf.d/
#cc_310_all_astguiclient_install.sh
COPY docker/vicidial-http/conf/astguiclient.conf /etc/astguiclient.conf
COPY docker/vicidial-http/conf/astguiclient.conf.j2 /etc/astguiclient.conf.j2
#cc_201_all_vicidial_svn_init.sh
WORKDIR /usr/src/astguiclient
#RUN svn checkout svn://svn.eflo.net:43690/agc_2-X/branches/agc_2.9
COPY /home/alexander/Workspace/vicidial-webadmin-server/vicidial-agc_2.14_voe/vicidial/ /usr/src/astguiclient
ENV TZ=America/Bogota
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN perl install.pl --web-only --active_keepalives=X
RUN ln -s /var/www/html/vicidial/welcome.php /var/www/html/index.php
RUN ln -sf /dev/stdout /var/log/httpd/access_log
RUN ln -sf /dev/stderr /var/log/httpd/error_log
COPY extras/Sapian/voe-landing/dist/ /var/www/html/
COPY docker/vicidial-http/vicidial-web-entrypoint.sh /vicidial-web-entrypoint.sh
CMD ["/usr/sbin/apachectl", "-DFOREGROUND"]
ENTRYPOINT ["/vicidial-web-entrypoint.sh"]
ARG BUILD_DATE
ARG VCS_REF
ARG VERSION
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.name="vicidial-ccweb" \
org.label-schema.description="Vicidial Docker Image ccweb Complete" \
org.label-schema.url="https://www.sapian.cloud/vicidial-online-edition" \
org.label-schema.vcs-url="https://git.sapian.com.co/Sapian/vicidial" \
org.label-schema.maintainer="sebastian.rojo@sapian.com.co" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.vendor1="Vicidial" \
org.label-schema.vendor2="Sapian" \
org.label-schema.version=$VERSION \
org.label-schema.vicidial-schema-version="1602"