FROM ubuntu:14.04.4
MAINTAINER Liz Lam <llam@perforce.com>
ENV P4PORT 0.0.0.0:1666
ENV JAMBOX_HOME /var/www/jambox
# Install dependencies
RUN apt-get update && apt-get install -y \
wget \
libapache2-mod-php5 \
php5-dev
# Add files
ADD ./registered.txt /registered.txt
ADD ./protect.txt /protect.txt
ADD ./perforce.ini /etc/php5/mods-available/perforce.ini
ADD ./000-default.conf /etc/apache2/sites-available/000-default.conf
ADD ./start.sh /start.sh
# Get p4d and p4 and move to appropriate location
RUN wget ftp://ftp.perforce.com/perforce/r15.2/bin.linux26x86_64/p4; \
wget ftp://ftp.perforce.com/perforce/r15.2/bin.linux26x86_64/p4d; \
chmod +x p4; \
chmod +x p4d; \
mv p4 /usr/local/bin; \
mv p4d /usr/local/bin
# Start p4d, sync JamBox source from Workshop, configure server
RUN mkdir -p /opt/perforce/p4server/; \
p4d -r /opt/perforce/p4server -p 0.0.0.0:1666 -d; \
p4 depot -o guest | p4 depot -i; \
p4 depot -o .swarm | p4 depot -i; \
p4 group -i < registered.txt; \
p4 -d /var/www/jambox -u guest clone -p workshop.perforce.com:1666 -f //guest/thomas_gray/jambox/main/...; \
chown www-data:www-data $JAMBOX_HOME/swarm/data/; \
$JAMBOX_HOME/swarm/p4-bin/scripts/swarm-trigger.sh -o > swarm-triggers.txt; \
p4 triggers -o > default-triggers.txt; \
cat default-triggers.txt swarm-triggers.txt > final.txt; \
p4 triggers -i < final.txt; \
p4 protect -i < protect.txt; \
p4 -u perforce configure set server.allowfetch=2; \
p4 -u perforce configure set server.allowpush=2
# Add config.php file needed for Swarm/JamBox
ADD ./config.php $JAMBOX_HOME/swarm/data/config.php
# Turn on rewrite module and suppress apache2 warning (Could not reliably determine the server's fully...)
RUN a2enmod rewrite; \
echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/fqdn.conf; \
sudo a2enconf fqdn
# Setup token in triggers
RUN sed -i 's/SWARM_TOKEN=\"\"/SWARM_TOKEN=\"$(echo trigger_token.txt)\"/g' /var/www/jambox/swarm/p4-bin/scripts/swarm-trigger.sh;
# Link Perforce/Swarm ini file
RUN ln -s /etc/php5/mods-available/perforce.ini /etc/php5/apache2/conf.d/20-perforce.ini
# Setup Workers (Needed for Activity stream)
RUN echo "* * * * * nobody /usr/bin/wget -q -O /dev/null -T5 http://localhost/queue/worker" > /etc/cron.d/swarm
EXPOSE 1666 80
CMD ["/bin/bash", "/start.sh"]
# |
Change |
User |
Description |
Committed |
|
#1
|
19047 |
Liz Lam |
Adding JamBox Dockerfiles |
|
|