How To Install Nextcloud On Your Server With Docker

In this tutorial, we'll look at how to install Nextcloud using Docker and Docker Compose.
Specifically, we'll be installing Nexcloud along with an Nginx reverse proxy and Let’s Encrypt SSL in a CentOS, Ubuntu, or Debian dockerized environment.
Why install Nextcloud + Docker on your VPS?
Nextcloud is an open source software suite for storing and synchronizing data, sort of like a free alternative to Dropbox or Google Drive. Plus, with Nextcloud, you get an open system architecture that gives you additional functionality and full control of your data. With Nextcloud, you can:- Store files, contacts, calendars and more on your server, and synchronize them across various devices
- Share your data with others to view and collaborate on
- Expand your Nextcloud installation with apps from the Nextcloud App Store,
- Or build your own apps and integrate them with Nextcloud.
Nextcloud + Docker: Prerequisites
- A VPS running Ubuntu 18.04, CentOS or Debian
- A working Docker installation—for information about how to install Docker, check out our getting started with Docker tutorial
Step 1. Install Docker
Ubuntu 18.04/Debian 10 For both Ubuntu and Debian servers, the latest versions of Docker CE may not be available in the repositories. We need to install the prerequisite packages:sudo apt-get install curl gnupg2 apt-transport-https ca-certificates software-properties-common
Next, we add the GPG keys, Docker repositories and finally install Docker. Here is where it gets different for both Ubuntu and Debian:
Ubuntu:
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 install docker-ce
Debian:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce
CentOS 7
The latest version of the Docker CE is not available in CentOS 7 repository. Therefore, we need to install wget
and add the Docker CE repository with the following command:
$ sudo yum update
$ sudo yum install wget -y
$ wget https://download.docker.com/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker.repo
Now execute the following command to install Docker CE:
$ sudo yum install docker-ce –y
You can also use a one-line install script for Docker. This script is universal and works on CentOS, Ubuntu and Debian:
curl -sSL https://get.docker.com/ | CHANNEL=stable sh
NOTE: Whichever method used to install Docker, make sure to start the Docker service and enable it to start during system startup.
$ sudo systemctl start docker
$ sudo systemctl start docker
Step 2. Install Docker Compose
To install the latestdocker-compose
, execute the following commands in the terminal:
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ docker-compose --version
docker-compose version 1.25.4, build 8d51620a
At the time of this writing, the latest stable version of docker-compose is 1.25.4
, you can choose to substitute 1.25.4
with any other versions you want to install.
Step 3. Install Nextcloud
Before we start defining services in thedocker-compose.yml
file, we create a network so that containers can communicate. Run the following command in the terminal:
$ docker network create nextcloud_network
Since we want to containerize Nextcloud along with other containers associated with it, we will define and knit all the services together in the dockerContinue reading this article
by subscribing to our newsletter.Subscribe now
Changelog:
March 24, 2020: Fixed some errors, added steps and added functionality for Ubuntu and Debian.
Like what you saw? Subscribe to our weekly newsletter.