tidy up in general, use tar.bz2 instead of zip

This commit is contained in:
sparklyballs 2016-08-22 12:09:22 +01:00
parent f42bb84f18
commit 768582abc0
4 changed files with 57 additions and 50 deletions

View File

@ -1,9 +1,11 @@
FROM lsiobase/alpine.nginx
MAINTAINER sparklyballs
# set paths
ENV WWW_ROOT="/config/www"
ENV NEXTCLOUD_PATH="${WWW_ROOT}/nextcloud"
# package version
ENV NEXTCLOUD_VER="9.0.53"
# environment settings
ENV NEXTCLOUD_PATH="/config/www/nextcloud"
# install build-dependencies
RUN \
@ -19,25 +21,7 @@ RUN \
samba-dev \
zlib-dev && \
# fetch php smbclient source
git clone git://github.com/eduardok/libsmbclient-php.git /tmp/smbclient && \
# compile smbclient
cd /tmp/smbclient && \
phpize && \
./configure && \
make && \
make install && \
# uninstall build-dependencies
apk del --purge \
build-dependencies && \
# cleanup
rm -rfv /tmp/*
# install runtime packages
RUN \
apk add --no-cache \
curl \
ffmpeg \
@ -72,26 +56,39 @@ RUN \
sudo \
tar \
unzip && \
apk add --no-cache --repository http://nl.alpinelinux.org/alpine/edge/testing \
php5-memcached
# configure php extensions
RUN \
echo "extension="smbclient.so"" >> /etc/php5/php.ini
apk add --no-cache \
--repository http://nl.alpinelinux.org/alpine/edge/testing \
php5-memcached && \
# configure php for nextcloud
RUN \
# fetch php smbclient source
git clone git://github.com/eduardok/libsmbclient-php.git /tmp/smbclient && \
# compile smbclient
cd /tmp/smbclient && \
phpize && \
./configure && \
make && \
make install && \
# uninstall build-dependencies
apk del --purge \
build-dependencies && \
# configure php and nginx for nextcloud
echo "extension="smbclient.so"" >> /etc/php5/php.ini && \
sed -i \
's/;always_populate_raw_post_data = -1/always_populate_raw_post_data = -1/g' \
/etc/php5/php.ini && \
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /defaults/nginx-fpm.conf
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /defaults/nginx-fpm.conf && \
# add local files
# cleanup
rm -rf \
/tmp/*
# copy local files
COPY root/ /
# ports and volumes
VOLUME /config /data
EXPOSE 443
# set nextcloud version
ENV NEXTCLOUD_VER="9.0.53"
VOLUME /config /data

View File

@ -1,8 +1,8 @@
#!/usr/bin/with-contenv bash
# permissions
chown abc:abc /config /data
chown -R abc:abc /var/lib/nginx
# set cronjob
crontab /defaults/nextcloud
chown abc:abc \
/config \
/data
chown -R abc:abc \
/var/lib/nginx

View File

@ -1,14 +1,20 @@
#!/usr/bin/with-contenv bash
mkdir -p "${WWW_ROOT}"
chown abc:abc "${WWW_ROOT}"
# create folders
mkdir -p \
"${NEXTCLOUD_PATH}"
# install app
if [ ! -e "${NEXTCLOUD_PATH}/index.php" ]; then
curl -o /tmp/nextcloud.zip -L \
https://download.nextcloud.com/server/releases/nextcloud-"${NEXTCLOUD_VER}".zip
cd /tmp || true
unzip nextcloud.zip
mv /tmp/nextcloud "${NEXTCLOUD_PATH}"
rm -f /tmp/nextcloud.zip
chown abc:abc -R "${NEXTCLOUD_PATH}"
curl -o /tmp/nextcloud.tar.bz2 -L \
https://download.nextcloud.com/server/releases/nextcloud-"${NEXTCLOUD_VER}".tar.bz2
tar xf /tmp/nextcloud.tar.bz2 -C \
"${NEXTCLOUD_PATH}" --strip-components=1
rm -f \
/tmp/nextcloud.tar.bz2
chown abc:abc -R \
"${NEXTCLOUD_PATH}"
fi
# set cronjob
crontab /defaults/nextcloud

View File

@ -1,5 +1,9 @@
#!/usr/bin/with-contenv bash
[[ ! -f /config/www/nextcloud/config/config.php ]] && cp /defaults/config.php /config/www/nextcloud/config/config.php
# copy config
[[ ! -f /config/www/nextcloud/config/config.php ]] && \
cp /defaults/config.php /config/www/nextcloud/config/config.php
chown abc:abc /config/www/nextcloud/config/config.php
# permissions
chown abc:abc \
/config/www/nextcloud/config/config.php