diff options
author | Sameer Naik <sameer@damagehead.com> | 2016-07-16 10:09:16 +0300 |
---|---|---|
committer | Sameer Naik <sameer@damagehead.com> | 2016-07-16 10:09:16 +0300 |
commit | 96724c5e069318b7a73bdcb1f3bc4485fd5d3b19 (patch) | |
tree | 4ebb630a8194752545f71af5d31dd5c21d5c8047 | |
parent | b78f6942329912bd795207ccb15b27375fdacdc4 (diff) |
release 9.0.529.0.52
-rw-r--r-- | Changelog.md | 4 | ||||
-rw-r--r-- | Dockerfile | 26 | ||||
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | README.md | 92 | ||||
-rw-r--r-- | VERSION | 2 | ||||
-rw-r--r-- | assets/build/install.sh | 36 | ||||
-rw-r--r-- | assets/runtime/config/nginx/Nextcloud.conf (renamed from assets/runtime/config/nginx/ownCloud.conf) | 8 | ||||
-rw-r--r-- | assets/runtime/env-defaults | 34 | ||||
-rw-r--r-- | assets/runtime/functions | 276 | ||||
-rwxr-xr-x | assets/tools/nextcloud-backup-create (renamed from assets/tools/owncloud-backup-create) | 0 | ||||
-rwxr-xr-x | assets/tools/occ | 4 | ||||
-rw-r--r-- | docker-compose.yml | 34 | ||||
-rwxr-xr-x | entrypoint.sh | 14 | ||||
-rw-r--r-- | kubernetes/nextcloud-service.yaml (renamed from kubernetes/owncloud-service.yaml) | 0 | ||||
-rw-r--r-- | kubernetes/nextcloud.yaml (renamed from kubernetes/owncloud.yaml) | 26 | ||||
-rw-r--r-- | kubernetes/nginx.yaml | 10 | ||||
-rw-r--r-- | kubernetes/postgresql.yaml | 4 |
17 files changed, 289 insertions, 285 deletions
diff --git a/Changelog.md b/Changelog.md index 6b6fedb..8b37ddc 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,3 +1,7 @@ +**9.0.52** +nextcloud: migrate to nextcloud 9.0.52 + +- - - **9.0.3** - owncloud: upgrade to 9.0.3 @@ -1,14 +1,14 @@ FROM sameersbn/php5-fpm:latest MAINTAINER sameer@damagehead.com -ENV OWNCLOUD_VERSION=9.0.3 \ - OWNCLOUD_USER=${PHP_FPM_USER} \ - OWNCLOUD_INSTALL_DIR=/var/www/owncloud \ - OWNCLOUD_DATA_DIR=/var/lib/owncloud \ - OWNCLOUD_CACHE_DIR=/etc/docker-owncloud +ENV NEXTCLOUD_VERSION=9.0.52 \ + NEXTCLOUD_USER=${PHP_FPM_USER} \ + NEXTCLOUD_INSTALL_DIR=/var/www/nextcloud \ + NEXTCLOUD_DATA_DIR=/var/lib/nextcloud \ + NEXTCLOUD_CACHE_DIR=/etc/docker-nextcloud -ENV OWNCLOUD_BUILD_DIR=${OWNCLOUD_CACHE_DIR}/build \ - OWNCLOUD_RUNTIME_DIR=${OWNCLOUD_CACHE_DIR}/runtime +ENV NEXTCLOUD_BUILD_DIR=${NEXTCLOUD_CACHE_DIR}/build \ + NEXTCLOUD_RUNTIME_DIR=${NEXTCLOUD_CACHE_DIR}/runtime RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8B3981E7A6852F782CC4951600A6F0A3C300EE8C \ && echo "deb http://ppa.launchpad.net/nginx/stable/ubuntu trusty main" >> /etc/apt/sources.list \ @@ -23,18 +23,18 @@ RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8B3981E7A6852F7 && php5enmod mcrypt \ && rm -rf /var/lib/apt/lists/* -COPY assets/build/ ${OWNCLOUD_BUILD_DIR}/ -RUN bash ${OWNCLOUD_BUILD_DIR}/install.sh +COPY assets/build/ ${NEXTCLOUD_BUILD_DIR}/ +RUN bash ${NEXTCLOUD_BUILD_DIR}/install.sh -COPY assets/runtime/ ${OWNCLOUD_RUNTIME_DIR}/ +COPY assets/runtime/ ${NEXTCLOUD_RUNTIME_DIR}/ COPY assets/tools/ /usr/bin/ COPY entrypoint.sh /sbin/entrypoint.sh RUN chmod 755 /sbin/entrypoint.sh EXPOSE 80/tcp -VOLUME ["${OWNCLOUD_DATA_DIR}"] +VOLUME ["${NEXTCLOUD_DATA_DIR}"] -WORKDIR ${OWNCLOUD_INSTALL_DIR} +WORKDIR ${NEXTCLOUD_INSTALL_DIR} ENTRYPOINT ["/sbin/entrypoint.sh"] -CMD ["app:owncloud"] +CMD ["app:nextcloud"] @@ -1,7 +1,7 @@ all: build build: - @docker build --tag=sameersbn/owncloud . + @docker build --tag=sameersbn/nextcloud . release: build - @docker build --tag=sameersbn/owncloud:$(shell cat VERSION) . + @docker build --tag=sameersbn/nextcloud:$(shell cat VERSION) . @@ -1,6 +1,6 @@ -[![Docker Repository on Quay.io](https://quay.io/repository/sameersbn/owncloud/status "Docker Repository on Quay.io")](https://quay.io/repository/sameersbn/owncloud) +[![Docker Repository on Quay.io](https://quay.io/repository/sameersbn/nextcloud/status "Docker Repository on Quay.io")](https://quay.io/repository/sameersbn/nextcloud) -# sameersbn/owncloud:9.0.3-1 +# sameersbn/nextcloud:9.0.52 - [Introduction](#introduction) - [Contributing](#contributing) @@ -17,9 +17,9 @@ # Introduction -`Dockerfile` to create a [Docker](https://www.docker.com/) container image for [ownCloud](https://owncloud.org/). +`Dockerfile` to create a [Docker](https://www.docker.com/) container image for [Nextcloud](https://nextcloud.com/). -ownCloud is a self-hosted open source application for file hosting and sharing. +Nextcloud is a self-hosted open source application for file hosting and sharing. ## Contributing @@ -45,18 +45,18 @@ If the above recommendations do not help then [report your issue](../../issues/n ## Installation -Automated builds of the image are available on [Dockerhub](https://hub.docker.com/r/sameersbn/owncloud) and is the recommended method of installation. +Automated builds of the image are available on [Dockerhub](https://hub.docker.com/r/sameersbn/nextcloud) and is the recommended method of installation. -> **Note**: Builds are also available on [Quay.io](https://quay.io/repository/sameersbn/owncloud) +> **Note**: Builds are also available on [Quay.io](https://quay.io/repository/sameersbn/nextcloud) ```bash -docker pull sameersbn/owncloud:9.0.3-1 +docker pull sameersbn/nextcloud:9.0.52 ``` Alternatively you can build the image yourself. ```bash -docker build -t sameersbn/owncloud github.com/sameersbn/docker-owncloud +docker build -t sameersbn/nextcloud github.com/sameersbn/docker-nextcloud ``` ## Quickstart @@ -64,44 +64,44 @@ docker build -t sameersbn/owncloud github.com/sameersbn/docker-owncloud The quickest way to start using this image is with [docker-compose](https://docs.docker.com/compose/). ```bash -wget https://raw.githubusercontent.com/sameersbn/docker-owncloud/master/docker-compose.yml +wget https://raw.githubusercontent.com/sameersbn/docker-nextcloud/master/docker-compose.yml ``` -Update the `OWNCLOUD_URL` environment variable in the `docker-compose.yml` file with the url from which ownCloud will be externally accessible. +Update the `NEXTCLOUD_URL` environment variable in the `docker-compose.yml` file with the url from which Nextcloud will be externally accessible. ```bash docker-compose up ``` -Alternatively, you can start ownCloud manually using the Docker command line. +Alternatively, you can start Nextcloud manually using the Docker command line. Step 1. Launch a PostgreSQL container ```bash -docker run --name owncloud-postgresql -itd --restart=always \ - --env 'DB_NAME=owncloud_db' \ - --env 'DB_USER=owncloud' --env 'DB_PASS=password' \ - --volume /srv/docker/owncloud/postgresql:/var/lib/postgresql \ +docker run --name nextcloud-postgresql -itd --restart=always \ + --env 'DB_NAME=nextcloud_db' \ + --env 'DB_USER=nextcloud' --env 'DB_PASS=password' \ + --volume /srv/docker/nextcloud/postgresql:/var/lib/postgresql \ sameersbn/postgresql:9.4-23 ``` -Step 2. Launch the ownCloud php-fpm container +Step 2. Launch the Nextcloud php-fpm container ```bash -docker run --name owncloud -itd --restart=always \ - --env OWNCLOUD_URL=http://cloud.example.com:10080 \ - --link owncloud-postgresql:postgresql \ - --volume /srv/docker/owncloud/owncloud:/var/lib/owncloud \ - sameersbn/owncloud:9.0.3-1 app:owncloud +docker run --name nextcloud -itd --restart=always \ + --env NEXTCLOUD_URL=http://cloud.example.com:10080 \ + --link nextcloud-postgresql:postgresql \ + --volume /srv/docker/nextcloud/nextcloud:/var/lib/nextcloud \ + sameersbn/nextcloud:9.0.52 app:nextcloud ``` Step 3. Launch a NGINX frontend container ```bash -docker run --name owncloud-nginx -itd --restart=always \ - --link owncloud:php-fpm \ +docker run --name nextcloud-nginx -itd --restart=always \ + --link nextcloud:php-fpm \ --publish 10080:80 \ - sameersbn/owncloud:9.0.3-1 app:nginx + sameersbn/nextcloud:9.0.52 app:nginx ``` Point your browser to `http://cloud.example.com:10080` and login using the default username and password: @@ -111,51 +111,51 @@ Point your browser to `http://cloud.example.com:10080` and login using the defau > **Note** > -> Use the `OWNCLOUD_ADMIN_USER` and `OWNCLOUD_ADMIN_PASSWORD` variables to create a custom admin user and password on the firstrun instead of the default credentials. +> Use the `NEXTCLOUD_ADMIN_USER` and `NEXTCLOUD_ADMIN_PASSWORD` variables to create a custom admin user and password on the firstrun instead of the default credentials. ## Persistence -For ownCloud to preserve its state across container shutdown and startup you should mount a volume at `/var/lib/owncloud`. +For Nextcloud to preserve its state across container shutdown and startup you should mount a volume at `/var/lib/nextcloud`. > *The [Quickstart](#quickstart) command already mounts a volume for persistence.* SELinux users should update the security context of the host mountpoint so that it plays nicely with Docker: ```bash -mkdir -p /srv/docker/owncloud -chcon -Rt svirt_sandbox_file_t /srv/docker/owncloud +mkdir -p /srv/docker/nextcloud +chcon -Rt svirt_sandbox_file_t /srv/docker/nextcloud ``` # Maintenance ## Creating backups -The image allows users to create backups of the ownCloud installation using the `app:backup:create` command or the `owncloud-backup-create` helper script. The generated backup consists of configuration files, uploaded files and the sql database. +The image allows users to create backups of the Nextcloud installation using the `app:backup:create` command or the `nextcloud-backup-create` helper script. The generated backup consists of configuration files, uploaded files and the sql database. Before generating a backup — stop and remove the running instance. ```bash -docker stop owncloud && docker rm owncloud +docker stop nextcloud && docker rm nextcloud ``` Relaunch the container with the `app:backup:create` argument. ```bash -docker run --name owncloud -it --rm [OPTIONS] \ - sameersbn/owncloud:9.0.3-1 app:backup:create +docker run --name nextcloud -it --rm [OPTIONS] \ + sameersbn/nextcloud:9.0.52 app:backup:create ``` -The backup will be created in the `backups/` folder of the [Persistent](#persistence) volume. You can change the location using the `OWNCLOUD_BACKUPS_DIR` configuration parameter. +The backup will be created in the `backups/` folder of the [Persistent](#persistence) volume. You can change the location using the `NEXTCLOUD_BACKUPS_DIR` configuration parameter. > **NOTE** > > Backups can also be generated on a running instance using: > > ```bash -> docker exec -it owncloud owncloud-backup-create +> docker exec -it nextcloud nextcloud-backup-create > ``` -By default backups are held indefinitely. Using the `OWNCLOUD_BACKUPS_EXPIRY` parameter you can configure how long (in seconds) you wish to keep the backups. For example, setting `OWNCLOUD_BACKUPS_EXPIRY=604800` will remove backups that are older than 7 days. Old backups are only removed when creating a new backup, never automatically. +By default backups are held indefinitely. Using the `NEXTCLOUD_BACKUPS_EXPIRY` parameter you can configure how long (in seconds) you wish to keep the backups. For example, setting `NEXTCLOUD_BACKUPS_EXPIRY=604800` will remove backups that are older than 7 days. Old backups are only removed when creating a new backup, never automatically. ## Restoring Backups @@ -164,14 +164,14 @@ Backups created using instructions from the [Creating backups](#creating-backups Before restoring a backup — stop and remove the running instance. ```bash -docker stop owncloud && docker rm owncloud +docker stop nextcloud && docker rm nextcloud ``` Relaunch the container with the `app:backup:restore` argument. Ensure you launch the container in the interactive mode `-it`. ```bash -docker run --name owncloud -it --rm [OPTIONS] \ - sameersbn/owncloud:9.0.3-1 app:backup:restore +docker run --name nextcloud -it --rm [OPTIONS] \ + sameersbn/nextcloud:9.0.52 app:backup:restore ``` A list of existing backups will be displayed. Select a backup you wish to restore. @@ -179,8 +179,8 @@ A list of existing backups will be displayed. Select a backup you wish to restor To avoid this interaction you can specify the backup filename using the `BACKUP` argument to `app:backup:restore`, eg. ```bash -docker run --name owncloud -it --rm [OPTIONS] \ - sameersbn/owncloud:9.0.3-1 app:backup:restore BACKUP=1417624827_owncloud_backup.tar +docker run --name nextcloud -it --rm [OPTIONS] \ + sameersbn/nextcloud:9.0.52 app:backup:restore BACKUP=1417624827_nextcloud_backup.tar ``` ## Upgrading @@ -190,27 +190,27 @@ To upgrade to newer releases: 1. Download the updated Docker image: ```bash - docker pull sameersbn/owncloud:9.0.3-1 + docker pull sameersbn/nextcloud:9.0.52 ``` 2. Stop the currently running image: ```bash - docker stop owncloud + docker stop nextcloud ``` 3. Remove the stopped container ```bash - docker rm -v owncloud + docker rm -v nextcloud ``` 4. Start the updated image ```bash - docker run -name owncloud -itd \ + docker run -name nextcloud -itd \ [OPTIONS] \ - sameersbn/owncloud:9.0.3-1 + sameersbn/nextcloud:9.0.52 ``` ## Shell Access @@ -218,5 +218,5 @@ To upgrade to newer releases: For debugging and maintenance purposes you may want access the containers shell. If you are using Docker version `1.3.0` or higher you can access a running containers shell by starting `bash` using `docker exec`: ```bash -docker exec -it owncloud bash +docker exec -it nextcloud bash ``` @@ -1 +1 @@ -9.0.3-1 +9.0.52 diff --git a/assets/build/install.sh b/assets/build/install.sh index 4eebfb4..e855c86 100644 --- a/assets/build/install.sh +++ b/assets/build/install.sh @@ -1,18 +1,18 @@ #!/bin/bash set -e -mkdir -p ${OWNCLOUD_INSTALL_DIR} +mkdir -p ${NEXTCLOUD_INSTALL_DIR} -if [[ ! -f ${OWNCLOUD_BUILD_DIR}/owncloud-${OWNCLOUD_VERSION}.tar.bz2 ]]; then - echo "Downloading ownCloud ${OWNCLOUD_VERSION}..." - wget "https://download.owncloud.org/community/owncloud-${OWNCLOUD_VERSION}.tar.bz2" -O ${OWNCLOUD_BUILD_DIR}/owncloud-${OWNCLOUD_VERSION}.tar.bz2 +if [[ ! -f ${NEXTCLOUD_BUILD_DIR}/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2 ]]; then + echo "Downloading Nextcloud ${NEXTCLOUD_VERSION}..." + wget "https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2" -O ${NEXTCLOUD_BUILD_DIR}/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2 fi -echo "Extracting ownCloud ${OWNCLOUD_VERSION}..." -tar -xf ${OWNCLOUD_BUILD_DIR}/owncloud-${OWNCLOUD_VERSION}.tar.bz2 --strip=1 -C ${OWNCLOUD_INSTALL_DIR} -rm -rf ${OWNCLOUD_BUILD_DIR}/owncloud-${OWNCLOUD_VERSION}.tar.bz2 +echo "Extracting ownCloud ${NEXTCLOUD_VERSION}..." +tar -xf ${NEXTCLOUD_BUILD_DIR}/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2 --strip=1 -C ${NEXTCLOUD_INSTALL_DIR} +rm -rf ${NEXTCLOUD_BUILD_DIR}/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2 -# required by owncloud +# required by nextcloud sed -i "s|[;]*[ ]*always_populate_raw_post_data = .*|always_populate_raw_post_data = -1|" /etc/php5/fpm/php.ini sed -i "s|[;]*[ ]*always_populate_raw_post_data = .*|always_populate_raw_post_data = -1|" /etc/php5/cli/php.ini @@ -20,13 +20,13 @@ sed -i "s|[;]*[ ]*always_populate_raw_post_data = .*|always_populate_raw_post_da rm -rf /etc/nginx/sites-enabled/default # set directory permissions -find ${OWNCLOUD_INSTALL_DIR}/ -type f -print0 | xargs -0 chmod 0640 -find ${OWNCLOUD_INSTALL_DIR}/ -type d -print0 | xargs -0 chmod 0750 -chown -R root:${OWNCLOUD_USER} ${OWNCLOUD_INSTALL_DIR}/ -chown -R ${OWNCLOUD_USER}: ${OWNCLOUD_INSTALL_DIR}/apps/ -chown -R ${OWNCLOUD_USER}: ${OWNCLOUD_INSTALL_DIR}/config/ -chown -R ${OWNCLOUD_USER}: ${OWNCLOUD_INSTALL_DIR}/themes/ -chown root:${OWNCLOUD_USER} ${OWNCLOUD_INSTALL_DIR}/.htaccess -chmod 0644 ${OWNCLOUD_INSTALL_DIR}/.htaccess -chown root:${OWNCLOUD_USER} ${OWNCLOUD_INSTALL_DIR}/.user.ini -chmod 0644 ${OWNCLOUD_INSTALL_DIR}/.user.ini +find ${NEXTCLOUD_INSTALL_DIR}/ -type f -print0 | xargs -0 chmod 0640 +find ${NEXTCLOUD_INSTALL_DIR}/ -type d -print0 | xargs -0 chmod 0750 +chown -R root:${NEXTCLOUD_USER} ${NEXTCLOUD_INSTALL_DIR}/ +chown -R ${NEXTCLOUD_USER}: ${NEXTCLOUD_INSTALL_DIR}/apps/ +chown -R ${NEXTCLOUD_USER}: ${NEXTCLOUD_INSTALL_DIR}/config/ +chown -R ${NEXTCLOUD_USER}: ${NEXTCLOUD_INSTALL_DIR}/themes/ +chown root:${NEXTCLOUD_USER} ${NEXTCLOUD_INSTALL_DIR}/.htaccess +chmod 0644 ${NEXTCLOUD_INSTALL_DIR}/.htaccess +chown root:${NEXTCLOUD_USER} ${NEXTCLOUD_INSTALL_DIR}/.user.ini +chmod 0644 ${NEXTCLOUD_INSTALL_DIR}/.user.ini diff --git a/assets/runtime/config/nginx/ownCloud.conf b/assets/runtime/config/nginx/Nextcloud.conf index 878fbae..81a9ed0 100644 --- a/assets/runtime/config/nginx/ownCloud.conf +++ b/assets/runtime/config/nginx/Nextcloud.conf @@ -1,9 +1,9 @@ server { listen 80; - server_name {{OWNCLOUD_FQDN}}; + server_name {{NEXTCLOUD_FQDN}}; # Path to the root of your installation - root {{OWNCLOUD_INSTALL_DIR}}; + root {{NEXTCLOUD_INSTALL_DIR}}; # set max upload size client_max_body_size 0; @@ -56,8 +56,8 @@ server { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; - fastcgi_param HTTPS {{OWNCLOUD_HTTPS}}; - fastcgi_pass {{OWNCLOUD_PHP_FPM_HOST}}:{{OWNCLOUD_PHP_FPM_PORT}}; + fastcgi_param HTTPS {{NEXTCLOUD_HTTPS}}; + fastcgi_pass {{NEXTCLOUD_PHP_FPM_HOST}}:{{NEXTCLOUD_PHP_FPM_PORT}}; fastcgi_intercept_errors on; } diff --git a/assets/runtime/env-defaults b/assets/runtime/env-defaults index a7f3f12..34385c0 100644 --- a/assets/runtime/env-defaults +++ b/assets/runtime/env-defaults @@ -4,30 +4,30 @@ DEBUG=${DEBUG:-false} ## CORE -OWNCLOUD_CONFIG_DIR=${OWNCLOUD_CONFIG_DIR:-$OWNCLOUD_DATA_DIR/config} -OWNCLOUD_OCDATA_DIR=${OWNCLOUD_OCDATA_DIR:-$OWNCLOUD_DATA_DIR/ocdata} -OWNCLOUD_BACKUPS_DIR=${OWNCLOUD_BACKUPS_DIR:-$OWNCLOUD_DATA_DIR/backups} +NEXTCLOUD_CONFIG_DIR=${NEXTCLOUD_CONFIG_DIR:-$NEXTCLOUD_DATA_DIR/config} +NEXTCLOUD_OCDATA_DIR=${NEXTCLOUD_OCDATA_DIR:-$NEXTCLOUD_DATA_DIR/ocdata} +NEXTCLOUD_BACKUPS_DIR=${NEXTCLOUD_BACKUPS_DIR:-$NEXTCLOUD_DATA_DIR/backups} -OWNCLOUD_ADMIN_USER=${OWNCLOUD_ADMIN_USER:-admin} -OWNCLOUD_ADMIN_PASSWORD=${OWNCLOUD_ADMIN_PASSWORD:-password} +NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN_USER:-admin} +NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD:-password} -OWNCLOUD_URL=${OWNCLOUD_URL:-} -OWNCLOUD_URL=${OWNCLOUD_URL:-$PHP_FPM_ENV_OWNCLOUD_URL} -OWNCLOUD_URL=${OWNCLOUD_URL:-http://localhost} +NEXTCLOUD_URL=${NEXTCLOUD_URL:-} +NEXTCLOUD_URL=${NEXTCLOUD_URL:-$PHP_FPM_ENV_NEXTCLOUD_URL} +NEXTCLOUD_URL=${NEXTCLOUD_URL:-http://localhost} # credits: http://stackoverflow.com/a/2506635/4799938 -OWNCLOUD_FQDN=$(sed -e "s/\([^/]*\)\:\/\/\([^@]*@\)\?\([^:/]*\).*/\3/" <<< ${OWNCLOUD_URL}) -if [[ $(sed -e "s/\([^/]*\)\:\/\/\([^@]*@\)\?\([^:/]*\).*/\1/" <<< ${OWNCLOUD_URL}) == https ]]; then - OWNCLOUD_HTTPS=${OWNCLOUD_HTTPS:-on} +NEXTCLOUD_FQDN=$(sed -e "s/\([^/]*\)\:\/\/\([^@]*@\)\?\([^:/]*\).*/\3/" <<< ${NEXTCLOUD_URL}) +if [[ $(sed -e "s/\([^/]*\)\:\/\/\([^@]*@\)\?\([^:/]*\).*/\1/" <<< ${NEXTCLOUD_URL}) == https ]]; then + NEXTCLOUD_HTTPS=${NEXTCLOUD_HTTPS:-on} else - OWNCLOUD_HTTPS=${OWNCLOUD_HTTPS:-off} + NEXTCLOUD_HTTPS=${NEXTCLOUD_HTTPS:-off} fi -OWNCLOUD_UPLOAD_MAX_FILESIZE=${OWNCLOUD_UPLOAD_MAX_FILESIZE:-4G} -OWNCLOUD_MAX_FILE_UPLOADS=${OWNCLOUD_MAX_FILE_UPLOADS:-20} +NEXTCLOUD_UPLOAD_MAX_FILESIZE=${NEXTCLOUD_UPLOAD_MAX_FILESIZE:-4G} +NEXTCLOUD_MAX_FILE_UPLOADS=${NEXTCLOUD_MAX_FILE_UPLOADS:-20} ## BACKUPS -OWNCLOUD_BACKUPS_EXPIRY=${OWNCLOUD_BACKUPS_EXPIRY:-0} +NEXTCLOUD_BACKUPS_EXPIRY=${NEXTCLOUD_BACKUPS_EXPIRY:-0} ## DATABASE DB_TYPE=${DB_TYPE:-} @@ -38,5 +38,5 @@ DB_USER=${DB_USER:-} DB_PASS=${DB_PASS:-} ## PHP_FPM -OWNCLOUD_PHP_FPM_HOST=${OWNCLOUD_PHP_FPM_HOST:-} -OWNCLOUD_PHP_FPM_PORT=${OWNCLOUD_PHP_FPM_PORT:-} +NEXTCLOUD_PHP_FPM_HOST=${NEXTCLOUD_PHP_FPM_HOST:-} +NEXTCLOUD_PHP_FPM_PORT=${NEXTCLOUD_PHP_FPM_PORT:-} diff --git a/assets/runtime/functions b/assets/runtime/functions index 2ea2541..6318689 100644 --- a/assets/runtime/functions +++ b/assets/runtime/functions @@ -1,10 +1,10 @@ #!/bin/bash set -e -source ${OWNCLOUD_RUNTIME_DIR}/env-defaults +source ${NEXTCLOUD_RUNTIME_DIR}/env-defaults -OWNCLOUD_TEMPLATES_DIR=${OWNCLOUD_RUNTIME_DIR}/config -OWNCLOUD_APP_CONFIG=${OWNCLOUD_CONFIG_DIR}/config.php -OWNCLOUD_NGINX_CONFIG=/etc/nginx/sites-enabled/ownCloud.conf +NEXTCLOUD_TEMPLATES_DIR=${NEXTCLOUD_RUNTIME_DIR}/config +NEXTCLOUD_APP_CONFIG=${NEXTCLOUD_CONFIG_DIR}/config.php +NEXTCLOUD_NGINX_CONFIG=/etc/nginx/sites-enabled/Nextcloud.conf # Compares two version strings `a` and `b` # Returns @@ -38,7 +38,7 @@ parse_yaml() { get_php_param() { local key=${1?key not specified} - sed -n -e "s/^\(${key}=\)\(.*\)\(.*\)$/\2/p" ${OWNCLOUD_INSTALL_DIR}/.user.ini + sed -n -e "s/^\(${key}=\)\(.*\)\(.*\)$/\2/p" ${NEXTCLOUD_INSTALL_DIR}/.user.ini } set_php_param() { @@ -55,26 +55,26 @@ set_php_param() { if [[ $(sed -n -e "s/^[;]*[ ]*\(${key}\)=.*/\1/p" .user.ini) == ${key} ]]; then value="$(echo "${value}" | sed 's|[&]|\\&|g')" - sed -i "s|^[;]*[ ]*${key}=.*|${key}=${value}|" ${OWNCLOUD_INSTALL_DIR}/.user.ini + sed -i "s|^[;]*[ ]*${key}=.*|${key}=${value}|" ${NEXTCLOUD_INSTALL_DIR}/.user.ini else - echo "${key}=${value}" >> ${OWNCLOUD_INSTALL_DIR}/.user.ini + echo "${key}=${value}" >> ${NEXTCLOUD_INSTALL_DIR}/.user.ini fi } -## Execute a command as OWNCLOUD_USER -exec_as_owncloud() { - if [[ $(whoami) == ${OWNCLOUD_USER} ]]; then +## Execute a command as NEXTCLOUD_USER +exec_as_nextcloud() { + if [[ $(whoami) == ${NEXTCLOUD_USER} ]]; then $@ else - sudo -HEu ${OWNCLOUD_USER} "$@" + sudo -HEu ${NEXTCLOUD_USER} "$@" fi } occ_cli() { - exec_as_owncloud php occ $@ + exec_as_nextcloud php occ $@ } -## Copies configuration template in ${OWNCLOUD_TEMPLATES_DIR} to the destination as the specified USER +## Copies configuration template in ${NEXTCLOUD_TEMPLATES_DIR} to the destination as the specified USER # $1: ownership of destination file, uses `chown` # $2: source file # $3: destination location @@ -84,8 +84,8 @@ install_template() { local SRC=${2} local DEST=${3} local MODE=${4:-0644} - if [[ -f ${OWNCLOUD_TEMPLATES_DIR}/${SRC} ]]; then - cp ${OWNCLOUD_TEMPLATES_DIR}/${SRC} ${DEST} + if [[ -f ${NEXTCLOUD_TEMPLATES_DIR}/${SRC} ]]; then + cp ${NEXTCLOUD_TEMPLATES_DIR}/${SRC} ${DEST} fi chmod ${MODE} ${DEST} chown ${OWNERSHIP} ${DEST} @@ -120,29 +120,29 @@ update_template() { rm -f ${tmp_file} } -owncloud_get_param() { +nextcloud_get_param() { local key=${1?missing argument} - exec_as_owncloud sed -n -e "s/\([ ]*\)\('${key}' => '\)\([^ ']*\)\(.*\)$/\3/p" ${OWNCLOUD_APP_CONFIG} + exec_as_nextcloud sed -n -e "s/\([ ]*\)\('${key}' => '\)\([^ ']*\)\(.*\)$/\3/p" ${NEXTCLOUD_APP_CONFIG} } -owncloud_set_param() { +nextcloud_set_param() { local key=${1?missing argument} local value=${2?missing argument} local hide=${3} if [[ -n ${value} ]]; then - local current=$(owncloud_get_param ${key}) + local current=$(nextcloud_get_param ${key}) if [[ "${current}" != "${value}" ]]; then case ${hide} in true) echo "‣ Setting config.php parameter: ${key}" ;; *) echo "‣ Setting config.php parameter: ${key} = '${value}'" ;; esac value="$(echo "${value}" | sed 's|[&]|\\&|g')" - exec_as_owncloud sed -i "s|'${key}' => .*|'${key}' => '${value}',|" ${OWNCLOUD_APP_CONFIG} + exec_as_nextcloud sed -i "s|'${key}' => .*|'${key}' => '${value}',|" ${NEXTCLOUD_APP_CONFIG} fi fi } -owncloud_finalize_database_parameters() { +nextcloud_finalize_database_parameters() { # is a mysql or postgresql database linked? # requires that the mysql or postgresql containers have exposed # port 3306 and 5432 respectively. @@ -212,17 +212,17 @@ owncloud_finalize_database_parameters() { # set default user and database DB_USER=${DB_USER:-root} - DB_NAME=${DB_NAME:-ownclouddb} + DB_NAME=${DB_NAME:-nextclouddb} } -owncloud_finalize_php_fpm_parameters() { - # is a owncloud-php-fpm container linked? +nextcloud_finalize_php_fpm_parameters() { + # is a nextcloud-php-fpm container linked? if [[ -n ${PHP_FPM_PORT_9000_TCP_ADDR} ]]; then - OWNCLOUD_PHP_FPM_HOST=${OWNCLOUD_PHP_FPM_HOST:-$PHP_FPM_PORT_9000_TCP_ADDR} - OWNCLOUD_PHP_FPM_PORT=${OWNCLOUD_PHP_FPM_PORT:-$PHP_FPM_PORT_9000_TCP_PORT} + NEXTCLOUD_PHP_FPM_HOST=${NEXTCLOUD_PHP_FPM_HOST:-$PHP_FPM_PORT_9000_TCP_ADDR} + NEXTCLOUD_PHP_FPM_PORT=${NEXTCLOUD_PHP_FPM_PORT:-$PHP_FPM_PORT_9000_TCP_PORT} fi - if [[ -z ${OWNCLOUD_PHP_FPM_HOST} ]]; then + if [[ -z ${NEXTCLOUD_PHP_FPM_HOST} ]]; then echo echo "ERROR: " echo " Please configure the php-fpm connection. Aborting..." @@ -231,10 +231,10 @@ owncloud_finalize_php_fpm_parameters() { fi # use default php-fpm port number if it is still not set - OWNCLOUD_PHP_FPM_PORT=${OWNCLOUD_PHP_FPM_PORT:-9000} + NEXTCLOUD_PHP_FPM_PORT=${NEXTCLOUD_PHP_FPM_PORT:-9000} } -owncloud_check_database_connection() { +nextcloud_check_database_connection() { case ${DB_TYPE} in mysql) prog="mysqladmin -h ${DB_HOST} -P ${DB_PORT} -u ${DB_USER} ${DB_PASS:+-p$DB_PASS} status" @@ -259,22 +259,22 @@ owncloud_check_database_connection() { echo } -owncloud_configure_database() { - echo -n "Configuring ownCloud::database" +nextcloud_configure_database() { + echo -n "Configuring Nextcloud::database" - owncloud_finalize_database_parameters - owncloud_check_database_connection + nextcloud_finalize_database_parameters + nextcloud_check_database_connection - if [[ -f ${OWNCLOUD_APP_CONFIG} ]]; then - owncloud_set_param dbtype ${DB_TYPE} - owncloud_set_param dbhost ${DB_HOST}:${DB_PORT} - owncloud_set_param dbname ${DB_NAME} - owncloud_set_param dbuser ${DB_USER} - owncloud_set_param dbpassword ${DB_PASS} true + if [[ -f ${NEXTCLOUD_APP_CONFIG} ]]; then + nextcloud_set_param dbtype ${DB_TYPE} + nextcloud_set_param dbhost ${DB_HOST}:${DB_PORT} + nextcloud_set_param dbname ${DB_NAME} + nextcloud_set_param dbuser ${DB_USER} + nextcloud_set_param dbpassword ${DB_PASS} true fi } -owncloud_upgrade() { +nextcloud_upgrade() { # perform installation on firstrun case ${DB_TYPE} in mysql) @@ -289,33 +289,33 @@ owncloud_upgrade() { local update_version=false if [[ -z ${COUNT} || ${COUNT} -eq 0 ]]; then - echo "Setting up ownCloud for firstrun..." - mkdir -p ${OWNCLOUD_INSTALL_DIR}/data - chown -R ${OWNCLOUD_USER}: ${OWNCLOUD_INSTALL_DIR}/data + echo "Setting up Nextcloud for firstrun..." + mkdir -p ${NEXTCLOUD_INSTALL_DIR}/data + chown -R ${NEXTCLOUD_USER}: ${NEXTCLOUD_INSTALL_DIR}/data occ_cli maintenance:install \ --database=${DB_TYPE} --database-host=${DB_HOST}:${DB_PORT} \ --database-name=${DB_NAME} --database-user=${DB_USER} --database-pass=${DB_PASS} \ - --admin-user=${OWNCLOUD_ADMIN_USER} --admin-pass=${OWNCLOUD_ADMIN_PASSWORD} \ - --data-dir=${OWNCLOUD_OCDATA_DIR} >/dev/null + --admin-user=${NEXTCLOUD_ADMIN_USER} --admin-pass=${NEXTCLOUD_ADMIN_PASSWORD} \ + --data-dir=${NEXTCLOUD_OCDATA_DIR} >/dev/null update_version=true else CACHE_VERSION= - [[ -f ${OWNCLOUD_CONFIG_DIR}/VERSION ]] && CACHE_VERSION=$(cat ${OWNCLOUD_CONFIG_DIR}/VERSION) - if [[ ${OWNCLOUD_VERSION} != ${CACHE_VERSION} ]]; then + [[ -f ${NEXTCLOUD_CONFIG_DIR}/VERSION ]] && CACHE_VERSION=$(cat ${NEXTCLOUD_CONFIG_DIR}/VERSION) + if [[ ${NEXTCLOUD_VERSION} != ${CACHE_VERSION} ]]; then ## version check, only upgrades are allowed - if [[ -n ${CACHE_VERSION} && $(vercmp ${OWNCLOUD_VERSION} ${CACHE_VERSION}) -lt 0 ]]; then + if [[ -n ${CACHE_VERSION} && $(vercmp ${NEXTCLOUD_VERSION} ${CACHE_VERSION}) -lt 0 ]]; then echo echo "ERROR: " - echo " Cannot downgrade from ownCloud version ${CACHE_VERSION} to ${OWNCLOUD_VERSION}." - echo " Only upgrades are allowed. Please use sameersbn/owncloud:${CACHE_VERSION} or higher." + echo " Cannot downgrade from Nextcloud version ${CACHE_VERSION} to ${NEXTCLOUD_VERSION}." + echo " Only upgrades are allowed. Please use sameersbn/nextcloud:${CACHE_VERSION} or higher." echo " Cannot continue. Aborting!" echo return 1 fi - echo "Upgrading ownCloud..." + echo "Upgrading Nextcloud..." occ_cli maintenance:mode --on occ_cli upgrade occ_cli maintenance:mode --off @@ -325,35 +325,35 @@ owncloud_upgrade() { fi if [[ ${update_version} == true ]]; then - echo -n "${OWNCLOUD_VERSION}" | exec_as_owncloud tee ${OWNCLOUD_CONFIG_DIR}/VERSION >/dev/null + echo -n "${NEXTCLOUD_VERSION}" | exec_as_nextcloud tee ${NEXTCLOUD_CONFIG_DIR}/VERSION >/dev/null fi } -owncloud_configure_domain() { - echo "Configuring ownCloud::trusted_domain..." - owncloud_set_param overwrite.cli.url ${OWNCLOUD_URL} - sed -i "s|0 => '.*',|0 => '${OWNCLOUD_FQDN}',|" ${OWNCLOUD_APP_CONFIG} +nextcloud_configure_domain() { + echo "Configuring Nextcloud::trusted_domain..." + nextcloud_set_param overwrite.cli.url ${NEXTCLOUD_URL} + sed -i "s|0 => '.*',|0 => '${NEXTCLOUD_FQDN}',|" ${NEXTCLOUD_APP_CONFIG} } -owncloud_configure_max_upload_size() { - echo "Configuring ownCloud::max_upload_size..." - set_php_param upload_max_filesize ${OWNCLOUD_UPLOAD_MAX_FILESIZE} - set_php_param post_max_size ${OWNCLOUD_UPLOAD_MAX_FILESIZE} +nextcloud_configure_max_upload_size() { + echo "Configuring Nextcloud::max_upload_size..." + set_php_param upload_max_filesize ${NEXTCLOUD_UPLOAD_MAX_FILESIZE} + set_php_param post_max_size ${NEXTCLOUD_UPLOAD_MAX_FILESIZE} } -owncloud_configure_max_file_uploads() { - echo "Configuring ownCloud::max_file_uploads..." - set_php_param max_file_uploads ${OWNCLOUD_MAX_FILE_UPLOADS} +nextcloud_configure_max_file_uploads() { + echo "Configuring Nextcloud::max_file_uploads..." + set_php_param max_file_uploads ${NEXTCLOUD_MAX_FILE_UPLOADS} } nginx_configure_virtualhost() { - echo "Configuring ownCloud virtualhost..." - owncloud_finalize_php_fpm_parameters - update_template ${OWNCLOUD_NGINX_CONFIG} \ - OWNCLOUD_FQDN \ - OWNCLOUD_HTTPS \ - OWNCLOUD_PHP_FPM_HOST \ - OWNCLOUD_PHP_FPM_PORT + echo "Configuring Nextcloud virtualhost..." + nextcloud_finalize_php_fpm_parameters + update_template ${NEXTCLOUD_NGINX_CONFIG} \ + NEXTCLOUD_FQDN \ + NEXTCLOUD_HTTPS \ + NEXTCLOUD_PHP_FPM_HOST \ + NEXTCLOUD_PHP_FPM_PORT } backup_dump_database() { @@ -362,17 +362,17 @@ backup_dump_database() { echo "Dumping PostgreSQL database ${DB_NAME}..." PGPASSWORD=${DB_PASS} pg_dump --clean \ --host ${DB_HOST} --port ${DB_PORT} \ - --username ${DB_USER} ${DB_NAME} > ${OWNCLOUD_BACKUPS_DIR}/database.sql + --username ${DB_USER} ${DB_NAME} > ${NEXTCLOUD_BACKUPS_DIR}/database.sql ;; mysql) echo "Dumping MySQL database ${DB_NAME}..." MYSQL_PWD=${DB_PASS} mysqldump --lock-tables --add-drop-table \ --host ${DB_HOST} --port ${DB_PORT} \ - --user ${DB_USER} ${DB_NAME} > ${OWNCLOUD_BACKUPS_DIR}/database.sql + --user ${DB_USER} ${DB_NAME} > ${NEXTCLOUD_BACKUPS_DIR}/database.sql ;; esac - chown ${OWNCLOUD_USER}: ${OWNCLOUD_BACKUPS_DIR}/database.sql - exec_as_owncloud gzip -f ${OWNCLOUD_BACKUPS_DIR}/database.sql + chown ${NEXTCLOUD_USER}: ${NEXTCLOUD_BACKUPS_DIR}/database.sql + exec_as_nextcloud gzip -f ${NEXTCLOUD_BACKUPS_DIR}/database.sql } backup_dump_directory() { @@ -381,39 +381,39 @@ backup_dump_directory() { local extension=${2} echo "Dumping ${dirname}..." - exec_as_owncloud tar -cf ${OWNCLOUD_BACKUPS_DIR}/${dirname}${extension} -C ${directory} . + exec_as_nextcloud tar -cf ${NEXTCLOUD_BACKUPS_DIR}/${dirname}${extension} -C ${directory} . } backup_dump_information() { ( echo "info:" - echo " owncloud_version: ${OWNCLOUD_VERSION}" - echo " database_adapter: $(owncloud_get_param dbtype)" + echo " nextcloud_version: ${NEXTCLOUD_VERSION}" + echo " database_adapter: $(nextcloud_get_param dbtype)" echo " created_at: $(date)" - ) > ${OWNCLOUD_BACKUPS_DIR}/backup_information.yml - chown ${OWNCLOUD_USER}: ${OWNCLOUD_BACKUPS_DIR}/backup_information.yml + ) > ${NEXTCLOUD_BACKUPS_DIR}/backup_information.yml + chown ${NEXTCLOUD_USER}: ${NEXTCLOUD_BACKUPS_DIR}/backup_information.yml } backup_create_archive() { - local tar_file="$(date +%s)_owncloud_backup.tar" + local tar_file="$(date +%s)_nextcloud_backup.tar" echo "Creating backup archive: ${tar_file}..." - exec_as_owncloud tar -cf ${OWNCLOUD_BACKUPS_DIR}/${tar_file} -C ${OWNCLOUD_BACKUPS_DIR} $@ - exec_as_owncloud chmod 0755 ${OWNCLOUD_BACKUPS_DIR}/${tar_file} + exec_as_nextcloud tar -cf ${NEXTCLOUD_BACKUPS_DIR}/${tar_file} -C ${NEXTCLOUD_BACKUPS_DIR} $@ + exec_as_nextcloud chmod 0755 ${NEXTCLOUD_BACKUPS_DIR}/${tar_file} for f in $@ do - exec_as_owncloud rm -rf ${OWNCLOUD_BACKUPS_DIR}/${f} + exec_as_nextcloud rm -rf ${NEXTCLOUD_BACKUPS_DIR}/${f} done } backup_purge_expired() { - if [[ ${OWNCLOUD_BACKUPS_EXPIRY} -gt 0 ]]; then + if [[ ${NEXTCLOUD_BACKUPS_EXPIRY} -gt 0 ]]; then echo -n "Deleting old backups... " local removed=0 local now=$(date +%s) - local cutoff=$(expr ${now} - ${OWNCLOUD_BACKUPS_EXPIRY}) - for backup in $(ls ${OWNCLOUD_BACKUPS_DIR}/*_owncloud_backup.tar) + local cutoff=$(expr ${now} - ${NEXTCLOUD_BACKUPS_EXPIRY}) + for backup in $(ls ${NEXTCLOUD_BACKUPS_DIR}/*_nextcloud_backup.tar) do local timestamp=$(stat -c %Y ${backup}) if [[ ${timestamp} -lt ${cutoff} ]]; then @@ -428,19 +428,19 @@ backup_purge_expired() { backup_restore_unpack() { local backup=${1} echo "Unpacking ${backup}..." - tar xf ${OWNCLOUD_BACKUPS_DIR}/${backup} -C ${OWNCLOUD_BACKUPS_DIR} + tar xf ${NEXTCLOUD_BACKUPS_DIR}/${backup} -C ${NEXTCLOUD_BACKUPS_DIR} } backup_restore_validate() { - eval $(parse_yaml ${OWNCLOUD_BACKUPS_DIR}/backup_information.yml backup_) + eval $(parse_yaml ${NEXTCLOUD_BACKUPS_DIR}/backup_information.yml backup_) ## version check - if [[ $(vercmp ${OWNCLOUD_VERSION} ${backup_info_owncloud_version}) -lt 0 ]]; then + if [[ $(vercmp ${NEXTCLOUD_VERSION} ${backup_info_nextcloud_version}) -lt 0 ]]; then echo echo "ERROR: " - echo " Cannot restore backup for version ${backup_info_owncloud_version} on a ${OWNCLOUD_VERSION} instance." - echo " You can only restore backups generated for versions <= ${OWNCLOUD_VERSION}." - echo " Please use sameersbn/owncloud:${backup_info_owncloud_version} to restore this backup." + echo " Cannot restore backup for version ${backup_info_nextcloud_version} on a ${NEXTCLOUD_VERSION} instance." + echo " You can only restore backups generated for versions <= ${NEXTCLOUD_VERSION}." + echo " Please use sameersbn/nextcloud:${backup_info_nextcloud_version} to restore this backup." echo " Cannot continue. Aborting!" echo return 1 @@ -456,21 +456,21 @@ backup_restore_validate() { echo return 1 fi - exec_as_owncloud rm -rf ${OWNCLOUD_BACKUPS_DIR}/backup_information.yml + exec_as_nextcloud rm -rf ${NEXTCLOUD_BACKUPS_DIR}/backup_information.yml } backup_restore_database() { case ${DB_TYPE} in pgsql) echo "Restoring PostgreSQL database..." - gzip -dc ${OWNCLOUD_BACKUPS_DIR}/database.sql.gz | \ + gzip -dc ${NEXTCLOUD_BACKUPS_DIR}/database.sql.gz | \ PGPASSWORD=${DB_PASS} psql \ --host ${DB_HOST} --port ${DB_PORT} \ --username ${DB_USER} ${DB_NAME} ;; mysql) echo "Restoring MySQL database..." - gzip -dc ${OWNCLOUD_BACKUPS_DIR}/database.sql.gz | \ + gzip -dc ${NEXTCLOUD_BACKUPS_DIR}/database.sql.gz | \ MYSQL_PWD=${DB_PASS} mysql \ --host ${DB_HOST} --port ${DB_PORT} \ --user ${DB_USER} ${DB_NAME} @@ -480,7 +480,7 @@ backup_restore_database() { return 1 ;; esac - exec_as_owncloud rm -rf ${OWNCLOUD_BACKUPS_DIR}/database.sql.gz + exec_as_nextcloud rm -rf ${NEXTCLOUD_BACKUPS_DIR}/database.sql.gz } backup_restore_directory() { @@ -491,45 +491,45 @@ backup_restore_directory() { echo "Restoring ${dirname}..." files=($(shopt -s nullglob;shopt -s dotglob;echo ${directory}/*)) if [[ ${#files[@]} -gt 0 ]]; then - exec_as_owncloud mv ${directory} ${directory}.$(date +%s) + exec_as_nextcloud mv ${directory} ${directory}.$(date +%s) else - exec_as_owncloud rm -rf ${directory} + exec_as_nextcloud rm -rf ${directory} fi - exec_as_owncloud mkdir -p ${directory} - exec_as_owncloud tar -xf ${OWNCLOUD_BACKUPS_DIR}/${dirname}${extension} -C ${directory} - exec_as_owncloud rm -rf ${OWNCLOUD_BACKUPS_DIR}/${dirname}${extension} + exec_as_nextcloud mkdir -p ${directory} + exec_as_nextcloud tar -xf ${NEXTCLOUD_BACKUPS_DIR}/${dirname}${extension} -C ${directory} + exec_as_nextcloud rm -rf ${NEXTCLOUD_BACKUPS_DIR}/${dirname}${extension} } install_configuration_templates() { echo "Installing configuration templates..." - if [[ -d /etc/nginx/sites-enabled && ! -f ${OWNCLOUD_NGINX_CONFIG} ]]; then - install_template root: nginx/ownCloud.conf ${OWNCLOUD_NGINX_CONFIG} 0644 - update_template ${OWNCLOUD_NGINX_CONFIG} OWNCLOUD_INSTALL_DIR + if [[ -d /etc/nginx/sites-enabled && ! -f ${NEXTCLOUD_NGINX_CONFIG} ]]; then + install_template root: nginx/Nextcloud.conf ${NEXTCLOUD_NGINX_CONFIG} 0644 + update_template ${NEXTCLOUD_NGINX_CONFIG} NEXTCLOUD_INSTALL_DIR fi } initialize_datadir() { echo "Initializing datadir..." - chmod 0755 ${OWNCLOUD_DATA_DIR} - chown ${OWNCLOUD_USER}: ${OWNCLOUD_DATA_DIR} + chmod 0755 ${NEXTCLOUD_DATA_DIR} + chown ${NEXTCLOUD_USER}: ${NEXTCLOUD_DATA_DIR} # create ocdata directory - mkdir -p ${OWNCLOUD_OCDATA_DIR} - chown -R ${OWNCLOUD_USER}: ${OWNCLOUD_OCDATA_DIR} - chmod -R 0750 ${OWNCLOUD_OCDATA_DIR} + mkdir -p ${NEXTCLOUD_OCDATA_DIR} + chown -R ${NEXTCLOUD_USER}: ${NEXTCLOUD_OCDATA_DIR} + chmod -R 0750 ${NEXTCLOUD_OCDATA_DIR} # create config directory - mkdir -p ${OWNCLOUD_CONFIG_DIR} - chown -R ${OWNCLOUD_USER}: ${OWNCLOUD_CONFIG_DIR} - chmod -R 0750 ${OWNCLOUD_CONFIG_DIR} + mkdir -p ${NEXTCLOUD_CONFIG_DIR} + chown -R ${NEXTCLOUD_USER}: ${NEXTCLOUD_CONFIG_DIR} + chmod -R 0750 ${NEXTCLOUD_CONFIG_DIR} # create backups directory - mkdir -p ${OWNCLOUD_BACKUPS_DIR} - chmod -R 0755 ${OWNCLOUD_BACKUPS_DIR} - chown -R ${OWNCLOUD_USER}: ${OWNCLOUD_BACKUPS_DIR} + mkdir -p ${NEXTCLOUD_BACKUPS_DIR} + chmod -R 0755 ${NEXTCLOUD_BACKUPS_DIR} + chown -R ${NEXTCLOUD_USER}: ${NEXTCLOUD_BACKUPS_DIR} - # symlink to config/config.php -> ${OWNCLOUD_CONFIG_DIR}/config.php - ln -sf ${OWNCLOUD_CONFIG_DIR}/config.php ${OWNCLOUD_INSTALL_DIR}/config/config.php + # symlink to config/config.php -> ${NEXTCLOUD_CONFIG_DIR}/config.php + ln -sf ${NEXTCLOUD_CONFIG_DIR}/config.php ${NEXTCLOUD_INSTALL_DIR}/config/config.php } initialize_system() { @@ -537,15 +537,15 @@ initialize_system() { install_configuration_templates } -configure_owncloud() { - echo "Configuring ownCloud..." - owncloud_configure_database - owncloud_upgrade - owncloud_configure_domain - owncloud_configure_max_upload_size - owncloud_configure_max_file_uploads +configure_nextcloud() { + echo "Configuring Nextcloud..." + nextcloud_configure_database + nextcloud_upgrade + nextcloud_configure_domain + nextcloud_configure_max_upload_size + nextcloud_configure_max_file_uploads - if [[ -f ${OWNCLOUD_APP_CONFIG} ]]; then + if [[ -f ${NEXTCLOUD_APP_CONFIG} ]]; then occ_cli maintenance:mode --quiet --off fi } @@ -557,13 +557,13 @@ configure_nginx() { backup_create() { echo -n "Checking database connection" - owncloud_finalize_database_parameters - owncloud_check_database_connection + nextcloud_finalize_database_parameters + nextcloud_check_database_connection occ_cli maintenance:mode --on backup_dump_database - backup_dump_directory ${OWNCLOUD_CONFIG_DIR} .tar.gz - backup_dump_directory ${OWNCLOUD_OCDATA_DIR} .tar + backup_dump_directory ${NEXTCLOUD_CONFIG_DIR} .tar.gz + backup_dump_directory ${NEXTCLOUD_OCDATA_DIR} .tar backup_dump_information backup_create_archive backup_information.yml database.sql.gz config.tar.gz ocdata.tar backup_purge_expired @@ -584,16 +584,16 @@ backup_restore() { # user needs to select the backup to restore if [[ $interactive == true ]]; then - num_backups=$(ls ${OWNCLOUD_BACKUPS_DIR}/*_owncloud_backup.tar | wc -l) + num_backups=$(ls ${NEXTCLOUD_BACKUPS_DIR}/*_nextcloud_backup.tar | wc -l) if [[ $num_backups -eq 0 ]]; then - echo "No backups exist at ${OWNCLOUD_BACKUPS_DIR}. Cannot continue." + echo "No backups exist at ${NEXTCLOUD_BACKUPS_DIR}. Cannot continue." return 1 fi echo - for b in $(ls ${OWNCLOUD_BACKUPS_DIR} | grep _owncloud_backup.tar | sort -r) + for b in $(ls ${NEXTCLOUD_BACKUPS_DIR} | grep _nextcloud_backup.tar | sort -r) do - echo "‣ $b (created at $(date --date="@${b%%_owncloud_backup.tar}" +'%d %b, %G - %H:%M:%S %Z'))" + echo "‣ $b (created at $(date --date="@${b%%_nextcloud_backup.tar}" +'%d %b, %G - %H:%M:%S %Z'))" done echo @@ -605,18 +605,18 @@ backup_restore() { fi fi - if [[ ! -f ${OWNCLOUD_BACKUPS_DIR}/${tar_file} ]]; then + if [[ ! -f ${NEXTCLOUD_BACKUPS_DIR}/${tar_file} ]]; then echo "Specified backup does not exist. Aborting..." return 1 fi echo -n "Checking database connection" - owncloud_finalize_database_parameters - owncloud_check_database_connection + nextcloud_finalize_database_parameters + nextcloud_check_database_connection backup_restore_unpack ${tar_file} backup_restore_validate backup_restore_database - backup_restore_directory ${OWNCLOUD_CONFIG_DIR} .tar.gz - backup_restore_directory ${OWNCLOUD_OCDATA_DIR} .tar + backup_restore_directory ${NEXTCLOUD_CONFIG_DIR} .tar.gz + backup_restore_directory ${NEXTCLOUD_OCDATA_DIR} .tar } diff --git a/assets/tools/owncloud-backup-create b/assets/tools/nextcloud-backup-create index 0c22ddb..0c22ddb 100755 --- a/assets/tools/owncloud-backup-create +++ b/assets/tools/nextcloud-backup-create diff --git a/assets/tools/occ b/assets/tools/occ index ae74476..226a3e9 100755 --- a/assets/tools/occ +++ b/assets/tools/occ @@ -1,6 +1,6 @@ #!/bin/bash set -e -source ${OWNCLOUD_RUNTIME_DIR}/functions +source ${NEXTCLOUD_RUNTIME_DIR}/functions -cd ${OWNCLOUD_INSTALL_DIR} +cd ${NEXTCLOUD_INSTALL_DIR} occ_cli $@ diff --git a/docker-compose.yml b/docker-compose.yml index 25cd940..95675da 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,41 +2,41 @@ postgresql: restart: always image: sameersbn/postgresql:9.4-23 environment: - - DB_USER=owncloud + - DB_USER=nextcloud - DB_PASS=password - - DB_NAME=owncloud_db + - DB_NAME=nextcloud_db volumes: - - /srv/docker/owncloud/postgresql:/var/lib/postgresql + - /srv/docker/nextcloud/postgresql:/var/lib/postgresql -owncloud: +nextcloud: restart: always - image: sameersbn/owncloud:9.0.3-1 - command: app:owncloud + image: sameersbn/nextcloud:9.0.52 + command: app:nextcloud environment: - DEBUG=false - TZ=Asia/Kolkata - - OWNCLOUD_URL=http://cloud.example.com:10080 + - NEXTCLOUD_URL=http://cloud.example.com:10080 - - OWNCLOUD_ADMIN_USER= - - OWNCLOUD_ADMIN_PASSWORD= + - NEXTCLOUD_ADMIN_USER= + - NEXTCLOUD_ADMIN_PASSWORD= - - OWNCLOUD_UPLOAD_MAX_FILESIZE=4G - - OWNCLOUD_MAX_FILE_UPLOADS=20 + - NEXTCLOUD_UPLOAD_MAX_FILESIZE=4G + - NEXTCLOUD_MAX_FILE_UPLOADS=20 - - OWNCLOUD_BACKUPS_EXPIRY=0 + - NEXTCLOUD_BACKUPS_EXPIRY=0 links: - postgresql:postgresql volumes: - - /srv/docker/owncloud/owncloud:/var/lib/owncloud + - /srv/docker/nextcloud/nextcloud:/var/lib/nextcloud nginx: - image: sameersbn/owncloud:9.0.3-1 + image: sameersbn/nextcloud:9.0.52 command: app:nginx environment: - - OWNCLOUD_PHP_FPM_HOST= - - OWNCLOUD_PHP_FPM_PORT= + - NEXTCLOUD_PHP_FPM_HOST= + - NEXTCLOUD_PHP_FPM_PORT= links: - - owncloud:php-fpm + - nextcloud:php-fpm ports: - "10080:80" diff --git a/entrypoint.sh b/entrypoint.sh index 53fad9a..b1c6ef8 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,18 +1,18 @@ #!/bin/bash set -e -source ${OWNCLOUD_RUNTIME_DIR}/functions +source ${NEXTCLOUD_RUNTIME_DIR}/functions [[ $DEBUG == true ]] && set -x case ${1} in - app:owncloud|app:nginx|app:backup:create|app:backup:restore|occ) + app:nextcloud|app:nginx|app:backup:create|app:backup:restore|occ) initialize_system case ${1} in - app:owncloud) - configure_owncloud - echo "Starting ownCloud php5-fpm..." + app:nextcloud) + configure_nextcloud + echo "Starting Nextcloud php5-fpm..." exec $(which php5-fpm) ;; app:nginx) @@ -35,8 +35,8 @@ case ${1} in ;; app:help) echo "Available options:" - echo " occ - Launch the ownCloud's command-line interface" - echo " app:owncloud - Starts the ownCloud php5-fpm server (default)" + echo " occ - Launch the Nextcloud's command-line interface" + echo " app:nextcloud - Starts the Nextcloud php5-fpm server (default)" echo " app:nginx - Starts the nginx server" echo " app:backup:create - Create a backup" echo " app:backup:restore - Restore an existing backup" diff --git a/kubernetes/owncloud-service.yaml b/kubernetes/nextcloud-service.yaml index 2eae480..2eae480 100644 --- a/kubernetes/owncloud-service.yaml +++ b/kubernetes/nextcloud-service.yaml diff --git a/kubernetes/owncloud.yaml b/kubernetes/nextcloud.yaml index a4f04bc..b7c99f3 100644 --- a/kubernetes/owncloud.yaml +++ b/kubernetes/nextcloud.yaml @@ -1,31 +1,31 @@ apiVersion: v1 kind: Pod metadata: - name: owncloud + name: nextcloud labels: - name: owncloud + name: nextcloud spec: containers: - - name: owncloud - image: sameersbn/owncloud:9.0.3-1 - args: ["app:owncloud"] + - name: nextcloud + image: sameersbn/nextcloud:9.0.52 + args: ["app:nextcloud"] env: - name: TZ value: Asia/Kolkata - name: DEBUG value: "false" - - name: OWNCLOUD_URL + - name: NEXTCLOUD_URL value: http://cloud.example.com - - name: OWNCLOUD_ADMIN_USER + - name: NEXTCLOUD_ADMIN_USER value: admin - - name: OWNCLOUD_ADMIN_PASSWORD + - name: NEXTCLOUD_ADMIN_PASSWORD value: password - - name: OWNCLOUD_UPLOAD_MAX_FILESIZE + - name: NEXTCLOUD_UPLOAD_MAX_FILESIZE value: 4G - - name: OWNCLOUD_MAX_FILE_UPLOADS + - name: NEXTCLOUD_MAX_FILE_UPLOADS value: "20" - name: DB_TYPE @@ -35,18 +35,18 @@ spec: - name: DB_PORT value: "5432" - name: DB_USER - value: owncloud + value: nextcloud - name: DB_PASS value: password - name: DB_NAME - value: owncloud_db + value: nextcloud_db ports: - name: php-fpm containerPort: 9000 protocol: TCP volumeMounts: - - mountPath: /var/lib/owncloud + - mountPath: /var/lib/nextcloud name: data livenessProbe: tcpSocket: diff --git a/kubernetes/nginx.yaml b/kubernetes/nginx.yaml index b47bc94..23e8e7c 100644 --- a/kubernetes/nginx.yaml +++ b/kubernetes/nginx.yaml @@ -7,15 +7,15 @@ metadata: spec: containers: - name: nginx - image: sameersbn/owncloud:9.0.3-1 + image: sameersbn/nextcloud:9.0.52 args: ["app:nginx"] env: - - name: OWNCLOUD_URL + - name: NEXTCLOUD_URL value: http://cloud.example.com - - name: OWNCLOUD_PHP_FPM_HOST - value: owncloud - - name: OWNCLOUD_PHP_FPM_PORT + - name: NEXTCLOUD_PHP_FPM_HOST + value: nextcloud + - name: NEXTCLOUD_PHP_FPM_PORT value: "9000" ports: diff --git a/kubernetes/postgresql.yaml b/kubernetes/postgresql.yaml index c9c1ffa..5ed9e51 100644 --- a/kubernetes/postgresql.yaml +++ b/kubernetes/postgresql.yaml @@ -10,11 +10,11 @@ spec: image: sameersbn/postgresql:9.4-23 env: - name: DB_USER - value: owncloud + value: nextcloud - name: DB_PASS value: password - name: DB_NAME - value: owncloud_db + value: nextcloud_db ports: - containerPort: 5432 protocol: TCP |