Build a Nextcloud instance in Docker Compose complete with Redis and optional PostgreSQL
Go to file
James 2e22c1ae4d update README to reflect removal of Nginx component 2022-02-27 15:39:16 +00:00
nextcloud add previews config file 2022-01-31 22:44:18 +00:00
secrets replace mariadb with postgresql 2022-01-31 21:30:08 +00:00
.env.example remove unused nginx files 2022-02-08 23:15:15 +00:00
.gitignore replace mariadb with postgresql 2022-01-31 21:30:08 +00:00
README.md update README to reflect removal of Nginx component 2022-02-27 15:39:16 +00:00
docker-compose.yaml remove unused nginx files 2022-02-08 23:15:15 +00:00

README.md

Nextcloud (Docker Compose)

Build a Nextcloud instance in Docker Compose complete with PostgreSQL and Redis

Prerequisites

  1. Docker
  2. Docker Compose
  3. A reverse proxy on its own Docker network

Setup

  1. Create a copy of .env.example:
cp .env.example .env
  1. Replace the NEXTCLOUD_HOST variable with your desired domain

  2. Replace VOLUME_PATH variable if you wish to change where volume data is stored

  3. Modify other variables as needed

  4. Create the following required secrets files (you should consider restricting access to these files):

  • secrets/postgres_password.txt
  • secrets/nextcloud_admin_user.txt
  • secrets/nextcloud_admin_password.txt
# Postgres
echo "SuperSecretPassword" > secrets/postgres_password.txt # Replace with your own super secret password

# Nextcloud
echo "admin" > secrets/nextcloud_admin_user.txt                   # Replace with desired admin username
echo "SuperSecretPassword" > secrets/nextcloud_admin_password.txt # Replace with super secret password for admin Nextcloud user
  1. Bring up the containers!
sudo docker-compose -p nextcloud up --build -d
  1. (Optional) To enable some file previews copy previews.config.php into your Nextcloud's config directory (replace $volume with the path you have set in the VOLUME_PATH environment variable):
sudo cp nextcloud/previews.config.php $volume/var/www/html/config/
sudo chown www-data:root $volume/var/www/html/config/previews.config.php