Nextcloud Nginx Proxy Manager fast and easy tutorial in just 10 Minutes with trusted SSL Certs! We're using Docker, Docker-Compose, or Portainer to deploy this on a Linux Server.
We will use the free and open-source software Nextcloud.
Nextcloud: Project Homepage: https://nextcloud.com/
Nginx Proxy Manager: Project Homepage: https://nginxproxymanager.com/ Documentation: https://nginxproxymanager.com/guide/
Video: https://youtu.be/iFHbzWhKfuU
- Linux Server running Ubuntu 20.04 LTS or newer
- Domain that points to the public IP of your Linux Server
You can still install Docker on a Linux Server that is not running Ubuntu, however, this may require different commands!
You can still install Docker on a Linux Server that is not running Ubuntu, however, this may require different commands!
sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo docker run hello-world
Download the latest version (in this case it is 1.25.5, this may change whenever you read this tutorial!)
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo docker-compose --version
sudo usermod -aG docker $USER
Create a new docker-compose.yml
file in your project folder e.g. /home/<your-username>/nextcloud
.
You can also create a new folder in the /opt
directory, this may require different permissions.
Navigate to your project folder, and execute the following command.
docker-compose up -d
Open the web interface of Nginx Proxy Manager at http://your-server-address:81
, and log in with the default username, and password [email protected]
/ changeme
.
Create a new Proxy Host, and fill in a subdomain e.g. nextcloud.your-server-address
as the domain name and forward it to nextcloud-app
on port 80
.
You can obtain a free SSL certificate from letsencrypt to securely expose Nextcloud via HTTPS.
Open the web interface of Nextcloud at https://nextcloud.your-server-address
, and log in with the default username, and password admin
/ admin
.
If you have issues with Desktop Client Sync, you need to change the config/config.php
file and add the following line.
'overwriteprotocol' => 'https'