Nextcloud-Docker/.examples
Marc Brückner 72c22b1a83
additions
2017-09-27 13:29:14 +02:00
..
docker-compose Use custom Dockerfiles instead of mounting files for remote docker #104 2017-09-27 13:29:13 +02:00
dockerfiles Add examples for both cases apache and fpm 2017-09-27 13:29:11 +02:00
README.md additions 2017-09-27 13:29:14 +02:00

Examples section

In this subfolders are some examples how to use the docker image. There are two sections:

The dockerfiles are derived images, that add or alter certain functionalities of the default docker images. In the docker-compose subfolder are examples for deployment of the application, including database, redis, collabora and other services.

Dockerfiles

The Dockerfiles use the default images as base image and build on top of it.

Example Description
cron uses supervisor to run the cron job inside the container (so no extra container is needed).
imap adds dependencies required to authenticate users via imap
smb adds dependencies required to use smb shares

docker-compose

In docker-compose additional services are bundled to create a complete nextcloud installation. The examples are designed to run out-of-the-box. Before running the examples you have to modify the db.env and docker-compose.yml file and fill in your custom information.

The docker-compose examples make heavily use of dereived Dockerfiles to add configuration files into the containers. This way they should also work on remote docker systems as Docker for Windows. When running docker-compose on the same host as the docker daemon, another possibility would be to simply mount the files in the volumes section in the docker-compose.yml file.

TODO: ADD INSECURE DESCRIPTION

with-nginx-proxy

The nginx proxy adds a proxy layer between nextcloud and the internet. The proxy is designed to serve multiple sites on the same host machine. The advantage in adding this layer is the ability to add a container for Let's Encrypt certificate handling. This combination of the jwilder/nginx-proxy and jrcs/docker-letsencrypt-nginx-proxy-companion containers creates a fully automated https encryption of the nextcloud installation without worrying about certificate generation, validation or renewal.

To use this example complete the following steps:

  1. open docker-compose.yml
    1. insert your nextcloud domain behind VIRTUAL_HOST=and LETSENCRYPT_HOST=
    2. enter a valid email behind LETSENCRYPT_EMAIL=
    3. choose a root password for the database behind MYSQL_ROOT_PASSWORD=
    4. enter your collabora domain behind domain=
  2. choose a password for the database user nextcloud in db.env behind MYSQL_PASSWORD=
  3. run docker-compose build --pull to pull the most recent base images and build the custom dockerfiles
  4. start nextcloud with docker-compose up -d

If you want to update your installation to a newer version of nextcloud, repeat the steps 3 and 4.