From 8fa384bcd6619b9c19c5efbcdf7248d803e43727 Mon Sep 17 00:00:00 2001 From: pierreozoux Date: Sat, 30 Jul 2016 15:30:52 +0100 Subject: [PATCH] first commit --- Dockerfile | 56 +++++++++++++++++++++++++++++++++++++++++++ README.md | 31 ++++++++++++++++++++++++ docker-entrypoint.sh | 9 +++++++ license.md | 1 + logo.png | Bin 0 -> 6607 bytes 5 files changed, 97 insertions(+) create mode 100644 Dockerfile create mode 100644 README.md create mode 100755 docker-entrypoint.sh create mode 100644 license.md create mode 100644 logo.png diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..85d41e0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,56 @@ +FROM php:5.6-fpm + +RUN apt-get update && apt-get install -y \ + bzip2 \ + libcurl4-openssl-dev \ + libfreetype6-dev \ + libicu-dev \ + libjpeg-dev \ + libmcrypt-dev \ + libmemcached-dev \ + libpng12-dev \ + libpq-dev \ + libxml2-dev \ + && rm -rf /var/lib/apt/lists/* + +# https://docs.nextcloud.com/server/9/admin_manual/installation/source_installation.html +RUN docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \ + && docker-php-ext-install gd exif intl mbstring mcrypt mysql opcache pdo_mysql pdo_pgsql pgsql zip + +# set recommended PHP.ini settings +# see https://secure.php.net/manual/en/opcache.installation.php +RUN { \ + echo 'opcache.memory_consumption=128'; \ + echo 'opcache.interned_strings_buffer=8'; \ + echo 'opcache.max_accelerated_files=4000'; \ + echo 'opcache.revalidate_freq=60'; \ + echo 'opcache.fast_shutdown=1'; \ + echo 'opcache.enable_cli=1'; \ + } > /usr/local/etc/php/conf.d/opcache-recommended.ini + +# PECL extensions +RUN set -ex \ + && pecl install APCu-4.0.10 \ + && pecl install memcached-2.2.0 \ + && pecl install redis-2.2.8 \ + && docker-php-ext-enable apcu redis memcached + +ENV NEXTCLOUD_VERSION 9.0.53 +VOLUME /var/www/html + +RUN curl -fsSL -o nextcloud.tar.bz2 \ + "https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2" \ + && curl -fsSL -o nextcloud.tar.bz2.asc \ + "https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc" \ + && export GNUPGHOME="$(mktemp -d)" \ +# gpg key from https://nextcloud.com/nextcloud.asc + && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys 28806A878AE423A28372792ED75899B9A724937A \ + && gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2 \ + && rm -r "$GNUPGHOME" nextcloud.tar.bz2.asc \ + && tar -xjf nextcloud.tar.bz2 -C /usr/src/ \ + && rm nextcloud.tar.bz2 + +COPY docker-entrypoint.sh /entrypoint.sh + +ENTRYPOINT ["/entrypoint.sh"] +CMD ["php-fpm"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..fb5a026 --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +What is Nextcloud? + +A safe home for all your data. Access & share your files, calendars, contacts, mail & more from any device, on your terms. + +![logo](https://github.com/nextcloud/docker/blob/master/logo.png) + +# How to use this image + +## Start Nextcloud + +Starting the Nextcloud 9.0.53 instance listening on port 80 is as easy as the following: + +```console +$ docker run -d -p 80:80 nextcloud:9.0.53 +``` + +Then go to http://localhost/ and go through the wizard. By default this container uses SQLite for data storage, but the wizard should allow for connecting to an existing database. + +For a MySQL database you can link an database container, e.g. `--link my-mysql:mysql`, and then use `mysql` as the database host on setup. + +## Persistent data + +All data beyond what lives in the database (file uploads, etc) is stored within the default volume `/var/www/html`. With this volume, Nextcloud will only be updated when the file `version.php` is not present. + +- `-v /:/var/www/html` + +For fine grained data persistence, you can use 3 volumes, as shown below. + +- `-v //apps:/var/www/html/apps` installed / modified apps +- `-v //config:/var/www/html/config` local configuration +- `-v //data:/var/www/html/data` the actual data of your Nextcloud diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100755 index 0000000..62d1625 --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,9 @@ +#!/bin/bash +set -e + +if [ ! -e '/var/www/html/version.php' ]; then + tar cf - --one-file-system -C /usr/src/nextcloud . | tar xf - + chown -R www-data /var/www/html +fi + +exec "$@" diff --git a/license.md b/license.md new file mode 100644 index 0000000..a271da3 --- /dev/null +++ b/license.md @@ -0,0 +1 @@ +View [license information](https://github.com/nextcloud/server/blob/master/COPYING-README) for the software contained in this image. diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b986ede2ced1295eb16e34f525f8e1132dc0485c GIT binary patch literal 6607 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 HEyMo@0-wql literal 0 HcmV?d00001