2014-01-25 00:03:02 +08:00
|
|
|
# ZoneMinder
|
|
|
|
#
|
|
|
|
# Version 0.0.1
|
|
|
|
|
|
|
|
FROM ubuntu
|
|
|
|
MAINTAINER Kyle Johnson <kjohnson@gnulnx.net>
|
|
|
|
|
2014-01-25 02:49:27 +08:00
|
|
|
# Let the conatiner know that there is no tty
|
|
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
|
|
|
2014-01-25 08:43:08 +08:00
|
|
|
# Hack for Upstart
|
|
|
|
RUN dpkg-divert --local --rename --add /sbin/initctl
|
|
|
|
RUN ln -s /bin/true /sbin/initctl
|
|
|
|
|
2014-01-25 00:03:02 +08:00
|
|
|
# Resynchronize the package index files
|
2014-01-25 03:13:45 +08:00
|
|
|
RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list
|
2014-01-25 00:03:02 +08:00
|
|
|
RUN apt-get update
|
2014-01-25 08:43:08 +08:00
|
|
|
RUN apt-get upgrade -y
|
2014-01-25 00:03:02 +08:00
|
|
|
|
2014-01-25 08:43:08 +08:00
|
|
|
# Install the prerequisites
|
|
|
|
RUN apt-get install -y build-essential libmysqlclient-dev libssl-dev libbz2-dev libpcre3-dev libdbi-perl libarchive-zip-perl libdate-manip-perl libdevice-serialport-perl libmime-perl libpcre3 libwww-perl libdbd-mysql-perl libsys-mmap-perl yasm subversion automake autoconf libjpeg-turbo8-dev libjpeg-turbo8 libtheora-dev libvorbis-dev libvpx-dev libx264-dev libmp4v2-dev ffmpeg git wget mysql-server mysql-client apache2 php5 php5-mysql apache2-mpm-prefork libapache2-mod-php5 php5-cli
|
2014-01-25 00:03:02 +08:00
|
|
|
|
|
|
|
# Grab the latest ZoneMinder code
|
|
|
|
RUN git clone https://github.com/ZoneMinder/ZoneMinder.git
|
|
|
|
|
|
|
|
# Change into the ZoneMinder directory
|
|
|
|
WORKDIR ZoneMinder
|
|
|
|
|
2014-01-25 08:43:08 +08:00
|
|
|
# Setup the ZoneMinder build environment
|
|
|
|
RUN aclocal && autoheader && automake --force-missing --add-missing && autoconf
|
2014-01-25 00:03:02 +08:00
|
|
|
|
2014-01-25 08:43:08 +08:00
|
|
|
# Configure ZoneMinder
|
|
|
|
RUN ./configure --with-libarch=lib/$DEB_HOST_GNU_TYPE --disable-debug --host=$DEB_HOST_GNU_TYPE --build=$DEB_BUILD_GNU_TYPE --with-mysql=/usr --with-webdir=/var/www/zm --with-ffmpeg=/usr --with-cgidir=/usr/lib/cgi-bin --with-webuser=www-data --with-webgroup=www-data --enable-crashtrace=no --enable-mmap=yes ZM_SSL_LIB=openssl ZM_DB_USER=zm ZM_DB_PASS=zm
|
2014-01-25 00:03:02 +08:00
|
|
|
|
|
|
|
# Build ZoneMinder
|
|
|
|
RUN make
|
|
|
|
|
|
|
|
# Install ZoneMinder
|
|
|
|
RUN make install
|
|
|
|
|
2014-01-25 08:43:08 +08:00
|
|
|
# Start MySQL
|
|
|
|
RUN /usr/bin/mysqld_safe &
|
|
|
|
|
|
|
|
# Sleep, let MySQL start.
|
|
|
|
RUN sleep 10
|
|
|
|
|
|
|
|
# See if MySQL is running...
|
|
|
|
RUN ps ax | grep mysql
|
|
|
|
|
2014-01-25 00:03:02 +08:00
|
|
|
# Create the ZoneMinder database
|
2014-01-25 08:43:08 +08:00
|
|
|
RUN mysql -u root -h localhost < db/zm_create.sql
|
2014-01-25 00:03:02 +08:00
|
|
|
|
|
|
|
# Create the ZoneMinder database user
|
|
|
|
RUN mysql -u root -e "grant insert,select,update,delete on zm.* to 'zm'@'localhost' identified by 'zmpass'"
|
|
|
|
|
|
|
|
# Install the ZoneMinder apache vhost file
|
|
|
|
RUN wget https://raw.github.com/kylejohnson/puppet-zoneminder/master/files/zoneminder -O /etc/apache2/sites-enabled/000-default
|
|
|
|
|
|
|
|
# Restart apache
|
|
|
|
RUN service apache2 restart
|
|
|
|
|
|
|
|
USER www-data
|
|
|
|
ENTRYPOINT ["zmpkg.pl", "start"]
|