summaryrefslogtreecommitdiffstats
path: root/docker/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'docker/Dockerfile')
-rw-r--r--docker/Dockerfile83
1 files changed, 83 insertions, 0 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile
new file mode 100644
index 000000000..7c4a96d71
--- /dev/null
+++ b/docker/Dockerfile
@@ -0,0 +1,83 @@
+FROM centos:centos7
+MAINTAINER David Lawrence <dkl@mozilla.com>
+
+# Environment configuration
+ENV BUGS_DB_DRIVER mysql
+ENV BUGS_DB_NAME bugs
+ENV BUGS_DB_PASS bugs
+ENV BUGS_DB_HOST localhost
+
+ENV BUGZILLA_USER bugzilla
+ENV BUGZILLA_HOME /home/$BUGZILLA_USER
+ENV BUGZILLA_ROOT $BUGZILLA_HOME/devel/htdocs/bmo
+ENV BUGZILLA_URL http://localhost/bmo
+
+ENV GITHUB_BASE_GIT https://github.com/mozilla/webtools-bmo-bugzilla
+ENV GITHUB_BASE_BRANCH master
+ENV GITHUB_QA_GIT https://github.com/mozilla/webtools-bmo-qa
+
+ENV ADMIN_EMAIL admin@mozilla.bugs
+ENV ADMIN_PASS password
+
+# Distribution package installation
+COPY rpm_list /rpm_list
+RUN yum -y -q install https://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm \
+ epel-release && yum clean all
+RUN yum -y -q install `cat /rpm_list` && yum clean all
+
+# User configuration
+RUN useradd -m -G wheel -u 1000 -s /bin/bash $BUGZILLA_USER \
+ && passwd -u -f $BUGZILLA_USER \
+ && echo "bugzilla:bugzilla" | chpasswd
+
+# sshd
+RUN mkdir -p /var/run/sshd \
+ && chmod -rx /var/run/sshd \
+ && ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' \
+ && ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N '' \
+ && ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N '' \
+ && sed -ri 's/#UseDNS yes/UseDNS no/'g /etc/ssh/sshd_config
+
+# Apache configuration
+COPY bugzilla.conf /etc/httpd/conf.d/bugzilla.conf
+
+# MySQL configuration
+COPY my.cnf /etc/my.cnf
+RUN chmod 644 /etc/my.cnf \
+ && chown root.root /etc/my.cnf \
+ && rm -rf /etc/mysql \
+ && rm -rf /var/lib/mysql/* \
+ && /usr/bin/mysql_install_db --user=$BUGZILLA_USER --basedir=/usr --datadir=/var/lib/mysql
+
+# Sudoer configuration
+COPY sudoers /etc/sudoers
+RUN chown root.root /etc/sudoers && chmod 440 /etc/sudoers
+
+# Clone the code repo
+RUN su $BUGZILLA_USER -c "git clone $GITHUB_BASE_GIT -b $GITHUB_BASE_BRANCH $BUGZILLA_ROOT"
+
+# Copy setup and test scripts
+COPY *.sh buildbot_step generate_bmo_data.pl checksetup_answers.txt /
+RUN chmod 755 /*.sh /buildbot_step
+
+# Bugzilla dependencies and setup
+RUN /install_deps.sh
+RUN /bugzilla_config.sh
+RUN /my_config.sh
+
+# Final permissions fix
+RUN chown -R $BUGZILLA_USER.$BUGZILLA_USER $BUGZILLA_HOME
+
+# Networking
+RUN echo "NETWORKING=yes" > /etc/sysconfig/network
+EXPOSE 80
+EXPOSE 22
+EXPOSE 5900
+
+# Testing scripts for CI
+ADD https://selenium-release.storage.googleapis.com/2.45/selenium-server-standalone-2.45.0.jar /selenium-server.jar
+
+# Supervisor
+COPY supervisord.conf /etc/supervisord.conf
+RUN chmod 700 /etc/supervisord.conf
+CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf"]