mirror of
https://github.com/linuxserver/docker-projectsend.git
synced 2026-02-20 08:39:17 +08:00
160 lines
3.5 KiB
Docker
160 lines
3.5 KiB
Docker
FROM lsiobase/alpine:3.6
|
||
MAINTAINER sparklyballs
|
||
|
||
# set version label
|
||
ARG BUILD_DATE
|
||
ARG VERSION
|
||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||
|
||
# copy patches
|
||
COPY patches/ /tmp/patches/
|
||
|
||
# package versions
|
||
ARG APCU_VER="4.0.11"
|
||
ARG MEMCACHE_VER="3.0.8"
|
||
ARG XCACHE_VER="3.2.0"
|
||
|
||
# install build packages
|
||
RUN \
|
||
apk add --no-cache --virtual=build-dependencies \
|
||
autoconf \
|
||
automake \
|
||
bison \
|
||
file \
|
||
flex \
|
||
g++ \
|
||
gawk \
|
||
gcc \
|
||
make \
|
||
php5-dev \
|
||
zlib-dev && \
|
||
|
||
# install runtime packages
|
||
apk add --no-cache \
|
||
apache2 \
|
||
apache2-utils \
|
||
curl \
|
||
php5-apache2 \
|
||
php5-bcmath \
|
||
php5-bz2 \
|
||
php5-cli \
|
||
php5-ctype \
|
||
php5-curl \
|
||
php5-dom \
|
||
php5-gd \
|
||
php5-gettext \
|
||
php5-gmp \
|
||
php5-iconv \
|
||
php5-json \
|
||
php5-mcrypt \
|
||
php5-mssql \
|
||
php5-mysql \
|
||
php5-odbc \
|
||
php5-openssl \
|
||
php5-pdo \
|
||
php5-pdo_dblib \
|
||
php5-pdo_mysql \
|
||
php5-pdo_odbc \
|
||
php5-phar \
|
||
php5-soap \
|
||
php5-xmlreader \
|
||
php5-xmlrpc \
|
||
php5-zip \
|
||
re2c \
|
||
tar \
|
||
wget && \
|
||
|
||
# configure php and apache2
|
||
ln -sf /usr/bin/php5 /usr/bin/php && \
|
||
sed -i \
|
||
-e 's#User apache#User abc#g' \
|
||
-e 's#Group apache#Group abc#g' \
|
||
-e 's#AllowOverride none#AllowOverride All#' \
|
||
-e 's/#LoadModule\ rewrite_module/LoadModule\ rewrite_module/' \
|
||
/etc/apache2/httpd.conf && \
|
||
sed -i 's#PidFile "/run/.*#Pidfile "/var/run/apache2/httpd.pid"#g' /etc/apache2/conf.d/mpm.conf && \
|
||
|
||
# compile php5-apcu
|
||
mkdir -p \
|
||
/tmp/apcu-src && \
|
||
curl -o \
|
||
/tmp/apcu.tgz -L \
|
||
"http://pecl.php.net/get/apcu-${APCU_VER}.tgz" && \
|
||
tar xf \
|
||
/tmp/apcu.tgz -C \
|
||
/tmp/apcu-src --strip-components=1 && \
|
||
cd /tmp/apcu-src && \
|
||
phpize5 && \
|
||
./configure \
|
||
--prefix=/usr \
|
||
--with-php-config=/usr/bin/php-config5 && \
|
||
make && \
|
||
make install && \
|
||
echo "extension=apcu.so" > /etc/php5/conf.d/apcu.ini && \
|
||
|
||
# compile php5-memcache
|
||
mkdir -p \
|
||
/tmp/memcache-src && \
|
||
curl -o \
|
||
/tmp/memcache.tgz -L \
|
||
"http://pecl.php.net/get/memcache-${MEMCACHE_VER}.tgz" && \
|
||
tar xf \
|
||
/tmp/memcache.tgz -C \
|
||
/tmp/memcache-src --strip-components=1 && \
|
||
cd /tmp/memcache-src && \
|
||
patch -p1 -i /tmp/patches/memcache-faulty-inline.patch && \
|
||
phpize5 && \
|
||
./configure \
|
||
--prefix=/usr \
|
||
--with-php-config=/usr/bin/php-config5 && \
|
||
make && \
|
||
make install && \
|
||
echo "extension=memcache.so" > /etc/php5/conf.d/memcache.ini && \
|
||
|
||
# compile php5-xcache
|
||
mkdir -p \
|
||
/tmp/xcache-src && \
|
||
curl -o \
|
||
/tmp/xcache.tar.gz -L \
|
||
"http://xcache.lighttpd.net/pub/Releases/${XCACHE_VER}/xcache-${XCACHE_VER}.tar.gz" && \
|
||
tar xf \
|
||
/tmp/xcache.tar.gz -C \
|
||
/tmp/xcache-src --strip-components=1 && \
|
||
cd /tmp/xcache-src && \
|
||
phpize5 --clean && \
|
||
phpize5 && \
|
||
./configure \
|
||
--enable-xcache \
|
||
--enable-xcache-constant \
|
||
--enable-xcache-coverager \
|
||
--enable-xcache-optimizer \
|
||
--prefix=/usr \
|
||
--with-php-config=/usr/bin/php-config5 && \
|
||
make && \
|
||
make install && \
|
||
install -Dm644 /tmp/patches/xcache.ini /etc/php5/conf.d/xcache.ini && \
|
||
|
||
# install projectsend
|
||
rm /var/www/localhost/htdocs/index.html && \
|
||
curl -o \
|
||
/tmp/ProjectSend.tar.gz -L \
|
||
"https://codeload.github.com/ignacionelson/ProjectSend/tar.gz/r756" && \
|
||
tar -zxf \
|
||
/tmp/ProjectSend.tar.gz --strip-components=1 -C /var/www/localhost/htdocs/ && \
|
||
mv /var/www/localhost/htdocs/upload /defaults/ && \
|
||
mv /var/www/localhost/htdocs/img/custom /defaults/ && \
|
||
cp /var/www/localhost/htdocs/includes/sys.config.sample.php /defaults/sys.config.php && \
|
||
|
||
# cleanup
|
||
apk del --purge \
|
||
build-dependencies && \
|
||
rm -rf \
|
||
/tmp/*
|
||
|
||
# add local files
|
||
COPY root/ /
|
||
|
||
# ports and volumes
|
||
EXPOSE 80
|
||
VOLUME /config /data
|