2016-05-14 15:43:46 -07:00
|
|
|
FROM ubuntu:trusty
|
2016-03-25 01:18:05 -07:00
|
|
|
MAINTAINER Brady Wetherington <uberbrady@gmail.com>
|
|
|
|
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
|
|
apache2-bin \
|
|
|
|
libapache2-mod-php5 \
|
|
|
|
php5-curl \
|
|
|
|
php5-ldap \
|
|
|
|
php5-mysql \
|
|
|
|
php5-mcrypt \
|
|
|
|
php5-gd \
|
|
|
|
patch \
|
|
|
|
curl \
|
|
|
|
vim \
|
2016-05-14 15:43:46 -07:00
|
|
|
git \
|
|
|
|
mysql-client
|
2016-03-25 01:18:05 -07:00
|
|
|
|
|
|
|
RUN php5enmod mcrypt
|
|
|
|
RUN php5enmod gd
|
|
|
|
|
|
|
|
RUN sed -i 's/variables_order = .*/variables_order = "EGPCS"/' /etc/php5/apache2/php.ini
|
|
|
|
RUN sed -i 's/variables_order = .*/variables_order = "EGPCS"/' /etc/php5/cli/php.ini
|
|
|
|
|
|
|
|
RUN useradd --uid 1000 --gid 50 docker
|
|
|
|
|
|
|
|
RUN echo export APACHE_RUN_USER=docker >> /etc/apache2/envvars
|
|
|
|
RUN echo export APACHE_RUN_GROUP=staff >> /etc/apache2/envvars
|
|
|
|
|
|
|
|
COPY docker/000-default.conf /etc/apache2/sites-enabled/000-default.conf
|
|
|
|
|
|
|
|
#SSL
|
2016-05-14 15:43:46 -07:00
|
|
|
RUN mkdir -p /var/lib/snipeit/ssl
|
2016-03-25 01:18:05 -07:00
|
|
|
COPY docker/001-default-ssl.conf /etc/apache2/sites-enabled/001-default-ssl.conf
|
|
|
|
#COPY docker/001-default-ssl.conf /etc/apache2/sites-available/001-default-ssl.conf
|
|
|
|
|
|
|
|
RUN a2enmod ssl
|
|
|
|
#RUN a2ensite 001-default-ssl.conf
|
|
|
|
|
|
|
|
COPY . /var/www/html
|
|
|
|
|
|
|
|
RUN a2enmod rewrite
|
|
|
|
|
|
|
|
############ INITIAL APPLICATION SETUP #####################
|
|
|
|
|
|
|
|
WORKDIR /var/www/html
|
|
|
|
|
|
|
|
#Append to bootstrap file (less brittle than 'patch')
|
2016-05-14 15:43:46 -07:00
|
|
|
# RUN sed -i 's/return $app;/$env="production";\nreturn $app;/' bootstrap/start.php
|
2016-03-25 01:18:05 -07:00
|
|
|
|
|
|
|
#copy all configuration files
|
2016-05-14 15:43:46 -07:00
|
|
|
# COPY docker/*.php /var/www/html/app/config/production/
|
|
|
|
COPY docker/docker.env /var/www/html/.env
|
2016-03-25 01:18:05 -07:00
|
|
|
|
|
|
|
RUN chown -R docker /var/www/html
|
|
|
|
|
2016-05-14 15:43:46 -07:00
|
|
|
RUN \
|
2016-05-14 16:46:53 -07:00
|
|
|
rm -r "/var/www/html/storage/private_uploads" && ln -fs "/var/lib/snipeit/data/private_uploads" "/var/www/html/storage/private_uploads" && \
|
|
|
|
mkdir -p "/var/www/html/public/uploads" && \
|
|
|
|
rm -rf "/var/www/html/public/uploads/avatars" && ln -fs "/var/lib/snipeit/data/uploads/avatars" "/var/www/html/public/uploads/avatars" && \
|
|
|
|
rm -rf "/var/www/html/public/uploads/models" && ln -fs "/var/lib/snipeit/data/uploads/models" "/var/www/html/public/uploads/models" && \
|
|
|
|
rm -rf "/var/www/html/public/uploads/suppliers" && ln -fs "/var/lib/snipeit/data/uploads/suppliers" "/var/www/html/public/uploads/suppliers" && \
|
2016-06-02 21:10:50 -07:00
|
|
|
rm -r "/var/www/html/storage/app/backups" && ln -fs "/var/lib/snipeit/dumps" "/var/www/html/storage/app/backups"
|
2016-05-14 15:43:46 -07:00
|
|
|
|
2016-03-25 01:18:05 -07:00
|
|
|
############## DEPENDENCIES via COMPOSER ###################
|
|
|
|
|
|
|
|
#global install of composer
|
|
|
|
RUN cd /tmp;curl -sS https://getcomposer.org/installer | php;mv /tmp/composer.phar /usr/local/bin/composer
|
|
|
|
|
|
|
|
# Get dependencies
|
|
|
|
RUN cd /var/www/html;composer install
|
|
|
|
|
|
|
|
############### APPLICATION INSTALL/INIT #################
|
|
|
|
|
|
|
|
#RUN php artisan app:install
|
|
|
|
# too interactive! Try something else
|
|
|
|
|
|
|
|
#COPY docker/app_install.exp /tmp/app_install.exp
|
|
|
|
#RUN chmod +x /tmp/app_install.exp
|
|
|
|
#RUN /tmp/app_install.exp
|
|
|
|
|
2016-05-14 15:43:46 -07:00
|
|
|
############### DATA VOLUME #################
|
|
|
|
|
2016-08-30 12:11:42 -07:00
|
|
|
VOLUME ["/var/lib/snipeit"]
|
2016-05-14 15:43:46 -07:00
|
|
|
|
2016-03-25 01:18:05 -07:00
|
|
|
##### START SERVER
|
|
|
|
|
|
|
|
COPY docker/entrypoint.sh /entrypoint.sh
|
|
|
|
RUN chmod +x /entrypoint.sh
|
|
|
|
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
|
|
|
|
|
|
|
EXPOSE 80
|
|
|
|
EXPOSE 443
|