Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/nextcloudpi.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authornachoparker <nacho@ownyourbits.com>2017-09-21 19:57:11 +0300
committernachoparker <nacho@ownyourbits.com>2017-11-05 15:36:15 +0300
commitd0a839c09db4aab2c63cf832465880da537c9367 (patch)
treee909ff2079da0ef760204ae08c821e93d2ea92e4 /docker
parentfa2279faa9c5db091b97376a323275ad1f368ef6 (diff)
added docker-x86: nc and ncp for development. Update docker-armhf
Diffstat (limited to 'docker')
-rw-r--r--docker/build-container.sh38
-rw-r--r--docker/debian-ncp/Dockerfile9
-rwxr-xr-xdocker/debian-ncp/run-parts.sh (renamed from docker/miniraspbian/run-parts.sh)8
-rw-r--r--docker/devel/Dockerfile5
-rwxr-xr-xdocker/lamp/010-lamp-run.sh30
-rw-r--r--docker/lamp/Dockerfile11
-rw-r--r--docker/miniraspbian/Dockerfile11
-rwxr-xr-xdocker/nextcloud/020-nextcloud-run.sh39
-rw-r--r--docker/nextcloud/Dockerfile26
-rwxr-xr-xdocker/nextcloudpi/000-ncp-run.sh21
-rw-r--r--docker/nextcloudpi/Dockerfile51
-rwxr-xr-xdocker/run-ncdocker.sh7
12 files changed, 113 insertions, 143 deletions
diff --git a/docker/build-container.sh b/docker/build-container.sh
deleted file mode 100644
index 7080ae0b..00000000
--- a/docker/build-container.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/bash
-
-# Build NextCloudPi ARM docker container in a QEMU Raspbian with docker
-#
-# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
-# GPL licensed (see end of file) * Use at your own risk!
-#
-# Usage: ./installer.sh build-container.sh <DHCP QEMU image IP> <image>
-#
-
-
-install()
-{
- git clone https://github.com/nextcloud/nextcloudpi.git
- make -C nextcloudpi
- # TODO docker push
-}
-
-configure(){ :; }
-
-cleanup() { :; }
-
-# License
-#
-# This script is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This script is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this script; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
-# Boston, MA 02111-1307 USA
diff --git a/docker/debian-ncp/Dockerfile b/docker/debian-ncp/Dockerfile
new file mode 100644
index 00000000..208603ff
--- /dev/null
+++ b/docker/debian-ncp/Dockerfile
@@ -0,0 +1,9 @@
+FROM debian:stretch-slim
+
+MAINTAINER Ignacio Núñez Hernanz <nacho@ownyourbits.com>
+
+CMD /bin/bash
+
+RUN mkdir -p /etc/services.d
+
+COPY docker/debian-ncp/run-parts.sh /
diff --git a/docker/miniraspbian/run-parts.sh b/docker/debian-ncp/run-parts.sh
index b4e9f74a..dee4fe61 100755
--- a/docker/miniraspbian/run-parts.sh
+++ b/docker/debian-ncp/run-parts.sh
@@ -2,16 +2,16 @@
cleanup()
{
- for file in $( ls -1rv /etc/cont-init.d ); do
- /etc/cont-init.d/$file stop
+ for file in $( ls -1rv /etc/services.d ); do
+ /etc/services.d/"$file" stop "$1"
done
exit
}
trap cleanup SIGTERM
-for file in $( ls -1v /etc/cont-init.d ); do
- /etc/cont-init.d/$file start
+for file in $( ls -1v /etc/services.d ); do
+ /etc/services.d/"$file" start "$1"
done
echo "Init done"
diff --git a/docker/devel/Dockerfile b/docker/devel/Dockerfile
index af01c876..277d87fa 100644
--- a/docker/devel/Dockerfile
+++ b/docker/devel/Dockerfile
@@ -1,7 +1,4 @@
-# docker run -d -p 4443:4443 -p 443:443 -p 80:80 -v ncdata:/data --name nextcloudpi ownyourbits/nextcloudpi:devel
-# docker build . -f docker/devel/Dockerfile -t ownyourbits/nextcloudpi:devel
-
-FROM ownyourbits/nextcloud
+FROM ownyourbits/nextcloudpi-x86
MAINTAINER Ignacio Núñez Hernanz <nacho@ownyourbits.com>
diff --git a/docker/lamp/010-lamp-run.sh b/docker/lamp/010-lamp-run.sh
index 69d8c13f..9552d848 100755
--- a/docker/lamp/010-lamp-run.sh
+++ b/docker/lamp/010-lamp-run.sh
@@ -1,16 +1,22 @@
#!/bin/bash
+source /usr/local/etc/library.sh
+
set -e
-case "$1" in
- stop)
- apachectl graceful-stop
- killall php-fpm7.0
- mysqladmin -u root shutdown
- echo "LAMP cleanup complete"
- exit 0
- ;;
-esac
+[[ "$1" == "stop" ]] && {
+ echo "Stopping apache"
+ apachectl graceful-stop
+ echo "Stopping PHP-fpm"
+ killall php-fpm7.0
+ echo "Stopping mariaDB"
+ mysqladmin -u root shutdown
+ echo "LAMP cleanup complete"
+ exit 0
+}
+
+# MOVE CONFIGS TO PERSISTENT VOLUME
+persistent_cfg /etc/apache2
echo "Starting PHP-fpm"
php-fpm7.0 &
@@ -21,4 +27,10 @@ echo "Starting Apache"
echo "Starting mariaDB"
mysqld &
+# wait for mariadb
+while :; do
+ [[ -S /var/run/mysqld/mysqld.sock ]] && break
+ sleep 0.5
+done
+
exit 0
diff --git a/docker/lamp/Dockerfile b/docker/lamp/Dockerfile
index 54b5c666..e6e77b93 100644
--- a/docker/lamp/Dockerfile
+++ b/docker/lamp/Dockerfile
@@ -1,12 +1,11 @@
-# docker run -d -p 443:443 -p 80:80 -v ncdata:/data --name lamp ownyourbits/lamp
-# docker build . -f lamp.dockerfile -t ownyourbits/lamp-arm:latest
-
-FROM ownyourbits/miniraspbian
+FROM ownyourbits/debian-ncp-x86
MAINTAINER Ignacio Núñez Hernanz <nacho@ownyourbits.com>
SHELL ["/bin/bash", "-c"]
+ENV DOCKERBUILD 1
+
COPY etc/library.sh lamp.sh /usr/local/etc/
RUN \
@@ -32,9 +31,9 @@ rm -f /var/log/alternatives.log /var/log/apt/*; \
# specific cleanup
rm /data/database/ib_logfile*; \
-rm /usr/local/etc/{lamp.sh,library.sh}
+rm /usr/local/etc/lamp.sh
-COPY docker/lamp/010-lamp-run.sh /etc/cont-init.d/
+COPY docker/lamp/010-lamp-run.sh /etc/services.d/
ENTRYPOINT ["/run-parts.sh"]
diff --git a/docker/miniraspbian/Dockerfile b/docker/miniraspbian/Dockerfile
deleted file mode 100644
index 2eca1bfa..00000000
--- a/docker/miniraspbian/Dockerfile
+++ /dev/null
@@ -1,11 +0,0 @@
-# docker build . -f Dockerfile.raspbian -t ownyourbits/raspbian:latest
-
-FROM ownyourbits/miniraspbian:raw
-
-MAINTAINER Ignacio Núñez Hernanz <nacho@ownyourbits.com>
-
-CMD /bin/bash
-
-RUN mkdir -p /etc/cont-init.d
-
-COPY docker/miniraspbian/run-parts.sh /
diff --git a/docker/nextcloud/020-nextcloud-run.sh b/docker/nextcloud/020-nextcloud-run.sh
index d4a8570c..68114e1a 100755
--- a/docker/nextcloud/020-nextcloud-run.sh
+++ b/docker/nextcloud/020-nextcloud-run.sh
@@ -1,25 +1,21 @@
#!/bin/bash
+source /usr/local/etc/library.sh
+
set -e
NCDIR=/var/www/nextcloud
OCC="$NCDIR/occ"
-case "$1" in
- stop)
- echo "stopping cron..."
- killall cron
- exit 0
- ;;
-esac
-
-# COPY NEXTCLOUD TO /data, WHICH WILL BE IN A PERSISTENT VOLUME (first run)
-test -d /data/app || {
- echo "Setting up persistent Nextcloud dir..."
- mv "$NCDIR" /data/app
- ln -s /data/app "$NCDIR"
+[[ "$1" == "stop" ]] && {
+ echo "stopping cron..."
+ killall cron
+ exit 0
}
+echo "Starting cron"
+cron
+
# INIT DATABASE AND NEXTCLOUD CONFIG (first run)
test -f /data/app/config/config.php || {
echo "Uninitialized instance, running nc-init..."
@@ -28,22 +24,19 @@ test -f /data/app/config/config.php || {
activate_script nc-init.sh
}
+# Trusted Domain ( local IP )
+IFACE=$( ip r | grep "default via" | awk '{ print $5 }' )
+IP=$( ip a | grep "global $IFACE" | grep -oP '\d{1,3}(\.\d{1,3}){3}' | head -1 )
+sudo -u www-data php "$OCC" config:system:set trusted_domains 1 --value="$IP"
+
# Trusted Domain ( as an argument )
[[ "$@" != "" ]] && {
- IP=$( grep -oP '\d{1,3}(\.\d{1,3}){3}' <<< "$1" ) # validate that the first argument is a valid IP
+ IP=$( grep -oP '\d{1,3}(\.\d{1,3}){3}' <<< "$2" ) # validate that the first argument is a valid IP
if [[ "$IP" != "" ]]; then
- sudo -u www-data php $OCC config:system:set trusted_domains 1 --value="$IP"
+ sudo -u www-data php "$OCC" config:system:set trusted_domains 6 --value="$IP"
else
echo "First argument must be an IP address to include as a Trusted domain. Ignoring"
fi
}
-# Trusted Domain ( local IP )
-IFACE=$( ip r | grep "default via" | awk '{ print $5 }' )
-IP=$( ip a | grep "global $IFACE" | grep -oP '\d{1,3}(\.\d{1,3}){3}' | head -1 )
-sudo -u www-data php $OCC config:system:set trusted_domains 2 --value="$IP"
-
-echo "Starting cron"
-cron
-
exit 0
diff --git a/docker/nextcloud/Dockerfile b/docker/nextcloud/Dockerfile
index ba7848e5..d0fda0bb 100644
--- a/docker/nextcloud/Dockerfile
+++ b/docker/nextcloud/Dockerfile
@@ -1,22 +1,24 @@
-# docker run -d -p 443:443 -p 80:80 -v ncdata:/data --name nextcloud ownyourbits/nextcloud
-# docker build . -f nextcloud.dockerfile -t ownyourbits/nextcloud:latest
-
-FROM ownyourbits/lamp-arm
+FROM ownyourbits/lamp-x86
MAINTAINER Ignacio Núñez Hernanz <nacho@ownyourbits.com>
SHELL ["/bin/bash", "-c"]
+ENV DOCKERBUILD 1
+
COPY etc/library.sh etc/nextcloudpi-config.d/nc-init.sh etc/nextcloudpi-config.d/nc-nextcloud.sh /usr/local/etc/
RUN \
-# installation
+# installation ( /var/www/nextcloud -> /data/app which will be in a volume )
apt-get update; \
-apt-get install --no-install-recommends -y wget ca-certificates iputils-ping; \
+apt-get install --no-install-recommends -y wget ca-certificates sudo; \
source /usr/local/etc/library.sh; \
set +x; \
+install_script /usr/local/etc/nc-nextcloud.sh; \
activate_script /usr/local/etc/nc-nextcloud.sh; \
+mv /var/www/nextcloud /data/app; \
+ln -s /data/app /var/www/nextcloud; \
# package cleanup
apt-get autoremove -y; \
@@ -31,14 +33,4 @@ rm -f /var/log/alternatives.log /var/log/apt/*; \
apt-get purge -y wget ca-certificates; \
rm /usr/local/etc/nc-nextcloud.sh
-# TODO install make in noip:
-
-# TODO consider pre-populating /data (volume overcopies)
-# TODO call cleanup() hooks for extras
-# TODO remove packages unneeded from lamp, wget...
-# # libudev1 util-linux
-# TODO remove mariadb client (reinstall mysqldump later, but that only)
-# apt-get purge -y wget ca-certificates libhogweed4 libnettle4 libpsl5
-# apt-get purge -y wget ca-certificates libgnutls-deb0-28 libhogweed2 libicu52 libnettle4 libpsl0
-
-COPY docker/nextcloud/020-nextcloud-run.sh /etc/cont-init.d/
+COPY docker/nextcloud/020-nextcloud-run.sh /etc/services.d/
diff --git a/docker/nextcloudpi/000-ncp-run.sh b/docker/nextcloudpi/000-ncp-run.sh
index d6a2cb49..6a4d2d2e 100755
--- a/docker/nextcloudpi/000-ncp-run.sh
+++ b/docker/nextcloudpi/000-ncp-run.sh
@@ -1,25 +1,8 @@
#!/bin/bash
-NCDIR=/var/www/nextcloud
-OCC="$NCDIR/occ"
-
-# INIT SYSTEM CONFIG (first run)
-test -d /data/etc || {
- echo "Setting up system dir..."
- #mv /etc /data/etc
- #ln -s /data/etc /etc
-}
+source /usr/local/etc/library.sh
# INIT NCP CONFIG (first run)
-test -d /data/ncp || {
- echo "Setting up ncp dir..."
- mv /usr/local/etc/ /data/ncp
- ln -s /data/ncp /usr/local/etc
-}
-
-# NC-INIT TODO copy all nextcloud folder?
-# INIT DATABASE AND NEXTCLOUD CONFIG
- #source /usr/local/etc/library.sh
- #activate_script /usr/local/etc/nextcloudpi-config.d/nc-init.sh
+persistent_cfg /usr/local/etc/nextcloudpi-config.d /data/ncp
exit 0
diff --git a/docker/nextcloudpi/Dockerfile b/docker/nextcloudpi/Dockerfile
index 445e6faf..d6baf749 100644
--- a/docker/nextcloudpi/Dockerfile
+++ b/docker/nextcloudpi/Dockerfile
@@ -1,7 +1,4 @@
-# docker run -d -p 4443:4443 -p 443:443 -p 80:80 -v ncdata:/data --name nextcloudpi ownyourbits/nextcloudpi
-# docker build . -f nextcloud.dockerfile -t ownyourbits/nextcloudpi:latest
-
-FROM ownyourbits/nextcloudpi
+FROM ownyourbits/nextcloud-x86
MAINTAINER Ignacio Núñez Hernanz <nacho@ownyourbits.com>
@@ -21,10 +18,54 @@ set +x; \
cd /usr/local/etc/; \
install_script nextcloudpi.sh; \
+# fix default paths
+sed -i 's|/media/USBdrive|/data/backups|' nextcloudpi-config.d/nc-backup.sh; \
+
# specific cleanup
rm /usr/local/etc/nextcloudpi.sh; \
apt-get purge -y wget ca-certificates; \
+# letsencrypt build artifacts cleanup
+apt-get purge -y \
+ make \
+ git \
+ augeas-lenses \
+ binutils \
+ cpp \
+ cpp-6 \
+ gcc \
+ gcc-6 \
+ libasan3 \
+ libaugeas0 \
+ libc-dev-bin \
+ libc6-dev \
+ libcc1-0 \
+ libcilkrts5 \
+ libexpat1-dev \
+ libffi-dev \
+ libgcc-6-dev \
+ libgomp1 \
+ libisl15 \
+ libitm1 \
+ liblsan0 \
+ libmpc3 \
+ libmpx2 \
+ libpython-dev \
+ libpython2.7-dev \
+ libquadmath0 \
+ libssl-dev \
+ libtsan0 \
+ libubsan0 \
+ linux-libc-dev \
+ python-dev \
+ python-virtualenv \
+ python2.7-dev \
+ python-pkg-resources \
+ python3-pkg-resources \
+ python3-virtualenv \
+ virtualenv \
+ python-pip-whl; \
+
# package clean up
apt-get autoremove -y; \
apt-get clean; \
@@ -34,7 +75,7 @@ rm -rf /usr/share/doc/*; \
rm -f /var/log/alternatives.log /var/log/apt/*; \
rm /var/cache/debconf/*-old;
-COPY docker/nextcloudpi/000-ncp-run.sh /etc/cont-init.d/
+COPY docker/nextcloudpi/000-ncp-run.sh /etc/services.d/
# 4443 - ncp-web
EXPOSE 80 443 4443
diff --git a/docker/run-ncdocker.sh b/docker/run-ncdocker.sh
deleted file mode 100755
index f7cb5def..00000000
--- a/docker/run-ncdocker.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-
-# Initial Trusted Domain
-IFACE=$( ip r | grep "default via" | awk '{ print $5 }' )
-IP=$( ip a | grep "global $IFACE" | grep -oP '\d{1,3}(\.\d{1,3}){3}' | head -1 )
-
-docker run -d -p 443:443 -p 80:80 -v ncdata:/data --name nextcloudpi ownyourbits/nextcloudpi $IP