Automated docker nextcloud for nginx proxy (webproxy) integrated with LetsEncrypt
This repo allows you to set up the great Nextcloud as a container over SSL auto generated and auto renewed by our Web Proxy.
Prerequisites
In order to use this compose file (docker-compose.yml) you must have:
- docker https://docs.docker.com/engine/installation/
- docker-compose https://docs.docker.com/compose/install/
- docker-compose-letsencrypt-nginx-proxy-companion https://github.com/evertramos/docker-compose-letsencrypt-nginx-proxy-companion
How to use
- Clone this repository:
git clone https://github.com/evertramos/docker-nextcloud-letsencrypt.git
- Make a copy of our .env.sample and rename it to .env:
Update this file with your preferences.
#
# Configuration for Nextcloud using NGINX WebProxy
#
# Containers name
DB_CONTAINER_NAME=cloud-db
APP_CONTAINER_NAME=cloud-app
# Mysql settings
MYSQL_HOST=cloud-db
MYSQL_DATABASE=cloud_db
MYSQL_ROOT_PASSWORD= cloud,root,password
MYSQL_USER=cloud_user
MYSQL_PASSWORD=cloud,user,password
# Nextcloud settings
NEXTCLOUD_ADMIN_USER=admin
NEXTCLOUD_ADMIN_PASSWORD=admin,password
# Nextcloud data path
NEXTCLOUD_DATA_DIR=/var/www/html/data
NEXTCLOUD_TABLE_PREFIX=
# Nextcloud local data path
LOCAL_DB_DIR=/home/user/cloud/data/db
LOCAL_DATA_DIR=/home/user/cloud/data/cloud
LOCAL_CONF_DIR=/home/user/cloud/data/cloud/config
LOCAL_APPS_DIR=/home/user/cloud/data/cloud/apps
# Host
VIRTUAL_HOST=cloud.yourdomain.com
LETSENCRYPT_HOST=cloud.yourdomain.com
[email protected]
#
# Network name
#
# Your container app must use a network connected to your webproxy
# https://github.com/evertramos/docker-compose-letsencrypt-nginx-proxy-companion
#
NETWORK=webproxy
- Start your container
$ docker-compose up -d
- Overwrite protocol to https
$ docker exec --user www-data cloud-app php occ config:system:set overwriteprotocol --value="https"
This container must be in a network connected to your webproxy containers or use the same network of the webproxy.
Please keep in mind that when starting for the first time it may take a few moments (even a couple minutes) to get your Let's Encrypt certificates generated.