Nextcloud-Docker/.examples/README.md

64 lines
4.0 KiB
Markdown
Raw Normal View History

2017-08-16 16:01:14 +00:00
# Examples section
In this subfolders are some examples how to use the docker image. There are two sections:
* [`dockerfiles`](https://github.com/nextcloud/docker/tree/master/.examples/dockerfiles)
2017-08-16 16:05:22 +00:00
* [`docker-compose`](https://github.com/nextcloud/docker/tree/master/.examples/docker-compose)
2017-08-16 16:01:14 +00:00
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
2017-08-16 16:05:22 +00:00
The Dockerfiles use the default images as base image and build on top of it.
2017-08-16 16:01:14 +00:00
Example | Description
------- | -------
2017-08-16 16:34:01 +00:00
[cron](https://github.com/nextcloud/docker/tree/master/.examples/dockerfiles/cron) | uses supervisor to run the cron job inside the container (so no extra container is needed).
[imap](https://github.com/nextcloud/docker/tree/master/.examples/dockerfiles/imap) | adds dependencies required to authenticate users via imap
[smb](https://github.com/nextcloud/docker/tree/master/.examples/dockerfiles/smb) | adds dependencies required to use smb shares
2017-08-16 16:01:14 +00:00
## docker-compose
2017-08-16 16:05:22 +00:00
In `docker-compose` additional services are bundled to create a complete nextcloud installation. The examples are designed to run out-of-the-box.
2017-08-16 16:37:32 +00:00
Before running the examples you have to modify the `db.env` and `docker-compose.yml` file and fill in your custom information.
2017-08-16 16:01:14 +00:00
2017-08-16 21:24:14 +00:00
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.
2017-08-16 16:01:14 +00:00
2017-09-24 12:36:51 +00:00
### insecure
This example should only be used for testing on the local network because it uses a unencrypted http connection.
When you want to have your server reachable from the internet adding HTTPS-encryption is mandatory!
For this use one of the [with-nginx-proxy](#with-nginx-proxy) examples.
2017-09-24 12:36:51 +00:00
To use this example complete the following steps:
1. if you use mariadb or mysql choose a root password for the database in `docker-compose.yml` behind `MYSQL_ROOT_PASSWORD=`
2. choose a password for the database user nextcloud in `db.env` behind `MYSQL_PASSWORD=` (for mariadb/mysql) or `POSTGRES_PASSWORD=` (for postgres)
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.
2017-08-16 16:01:14 +00:00
### 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.
2017-08-16 16:05:22 +00:00
The advantage in adding this layer is the ability to add a container for [Let's Encrypt](https://letsencrypt.org/) certificate handling.
This combination of the [jwilder/nginx-proxy](https://github.com/jwilder/nginx-proxy) and [jrcs/docker-letsencrypt-nginx-proxy-companion](https://github.com/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.
2017-08-16 16:01:14 +00:00
To use this example complete the following steps:
2017-08-16 21:24:14 +00:00
1. open `docker-compose.yml`
2017-08-16 16:07:16 +00:00
1. insert your nextcloud domain behind `VIRTUAL_HOST=`and `LETSENCRYPT_HOST=`
2017-08-16 21:24:14 +00:00
2. enter a valid email behind `LETSENCRYPT_EMAIL=`
2017-09-24 12:36:51 +00:00
3. if you use mariadb or mysql choose a root password for the database behind `MYSQL_ROOT_PASSWORD=`
2. choose a password for the database user nextcloud in `db.env` behind `MYSQL_PASSWORD=` (for mariadb/mysql) or `POSTGRES_PASSWORD=` (for postgres)
2017-08-16 16:01:14 +00:00
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.