tpotce/docker/glastopf/Dockerfile

94 lines
2.7 KiB
Text
Raw Normal View History

2018-03-25 18:35:32 +00:00
FROM alpine
# Include dist
ADD dist/ /root/dist/
# Install packages
2018-05-17 17:38:09 +00:00
RUN apk -U --no-cache add \
autoconf \
2018-03-25 18:35:32 +00:00
bind-tools \
build-base \
cython \
git \
libffi \
libffi-dev \
2018-04-26 15:18:23 +00:00
libcap \
2018-03-25 18:35:32 +00:00
make \
py-asn1 \
py-cffi \
py-chardet \
py-cparser \
py-cryptography \
py-dateutil \
py-enum34 \
py-idna \
py-ipaddress \
py-jinja2 \
py-lxml \
py-mysqldb \
py-openssl \
py-pip \
py-requests \
py-setuptools \
python \
python-dev && \
apk -U add --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ \
2018-03-25 18:35:32 +00:00
py-beautifulsoup4 \
php7 \
php7-dev \
py-cssselect \
py-gevent \
py-greenlet \
py-mongo \
py-sqlalchemy \
py-webob && \
2018-04-26 15:18:23 +00:00
pip install --no-cache-dir --upgrade pip && \
# Install php sandbox from git
2018-03-25 18:35:32 +00:00
git clone https://github.com/mushorg/BFR /opt/BFR && \
cd /opt/BFR && \
2018-03-25 18:35:32 +00:00
git checkout 508729202428a35bcc6bb27dd97b831f7e5009b5 && \
phpize7 && \
./configure \
--with-php-config=/usr/bin/php-config7 \
--enable-bfr && \
make && \
make install && \
cd / && \
rm -rf /opt/BFR /tmp/* /var/tmp/* && \
echo "zend_extension = "$(find /usr -name bfr.so) >> /etc/php7/php.ini && \
# Install glastopf from git
git clone https://github.com/mushorg/glastopf.git /opt/glastopf && \
cd /opt/glastopf && \
2018-05-17 17:38:09 +00:00
git checkout 67c2a3fce7419f0c6b418b2b91da3c45b399f2b8 && \
2018-03-25 18:35:32 +00:00
cp /root/dist/requirements.txt /opt/glastopf/ && \
2018-04-26 15:18:23 +00:00
pip install --no-cache-dir . && \
cd / && \
rm -rf /opt/glastopf /tmp/* /var/tmp/* && \
2018-04-26 15:18:23 +00:00
setcap cap_net_bind_service=+ep /usr/bin/python2.7 && \
# Setup user, groups and configs
addgroup -g 2000 glastopf && \
adduser -S -H -u 2000 -D -g 2000 glastopf && \
2018-05-17 17:38:09 +00:00
mkdir -p /etc/glastopf && \
mv /root/dist/glastopf.cfg /etc/glastopf/ && \
# Clean up
2018-05-17 17:38:09 +00:00
apk del --purge autoconf \
build-base \
file \
git \
libffi-dev \
php7-dev \
python-dev \
py-pip \
re2c && \
rm -rf /root/* && \
rm -rf /var/cache/apk/*
# Set workdir and start glastopf
2018-04-26 15:18:23 +00:00
USER glastopf:glastopf
2018-03-31 21:44:11 +00:00
WORKDIR /tmp/glastopf/
2018-05-17 17:38:09 +00:00
CMD cp /etc/glastopf/glastopf.cfg /tmp/glastopf && exec glastopf-runner