I would like to introduce a new set of NextCloudPi dockers.
Finally, it seems that the upstream docker containers both for x86 and ARM are caching up in terms of reduced size. That is great news because it relieves the burden of creating and maintaining the minidebian and miniraspbian base images.
This means that we can finally rebuild the NextCloudPi container easily on top of Debian Stretch. The result of this is a set of containers for different architectures that can be generated from the NextCloudPi codebase.
We now have
- Nextcloud docker container for ARM: ownyourbits/nextcloud-armhf
- Nextcloud docker container for x86: ownyourbits/nextcloud-x86
- NextCloudPi docker container for ARM: ownyourbits/nextcloudpi-armhf
- NextCloudPi docker container for x86: ownyourbits/nextcloudpi-x86
You can find them in dockerhub
We will also have arm64 containers, as soon as I set up my new odroid HC1 to create the images.
These contain only Nextcloud, Postfix and so on but no other software or management interface. You still have to do your certificates and networking yourself.
This used to be known as the nextcloudpi container before.
The difference between nextcloud and nextcloudpi is that the latter contains also ncp-web, letsencrypt, DDNS, package autogrades and many other NextCloudPi features.
The first goal of creating this container was to facilitate an easy x86 development environment for NextCloudPi. We have this today.
The second goal, looking into the future, is to provide a docker image that benefits from the NextCloudPi web panel and package of related services, such as Let’s Encrypt, DDNS, unattended upgrades or backups. Nextcloud needs a bunch of networking, system configuration and management, and our goal is to simplify this.
At this moment, the extra NextCloudPi layer contains a subset of the options available in the SD image. Some options, such as wifi management don’t make sense at all inside a container, and others still need some work to be adapted.
As usual, help, issue reports and sugestions are welcome.
See this other post in order to setup docker on your Raspberry Pi if you haven’t done it yet.
Docker is the only requisite, but it is also nice to install docker compose for easier management.
For instance, in Arch
sudo pacman -S docker docker-compose
Or in Debian
sudo apt-get install docker.io docker-compose
The usage has not changed. If we are not in localhost, we need to provide the IP address or domain in order to be included in the trusted domain list.
IP=192.168.1.130 docker run -d -p 4443:4443 -p 443:443 -p 80:80 -v ncdata:/data --name nextcloudpi ownyourbits/nextcloudpi-armhf $IP
The first time it will take some seconds to do the initial configuration, wait until you see ‘Init done’ in
docker logs -f nextcloudpi
Then, you can log into Nextcloud
, or the web panel
If you want to have your persistent volume in a particular folder, you can pass an empty folder as an argument
IP=192.168.1.130 docker run -d -p 4443:4443 -p 443:443 -p 80:80 -v /media/USBdrive/ncdatadocker:/data --name nextcloudpi ownyourbits/nextcloudpi-armhf $IP
With docker-compose (optional)
First, clone the repo to get the compose files
git clone https://github.com/nextcloud/nextcloudpi.git cd nextcloudpi
Then, run one of them with compose up. Examples:
docker-compose up -d # x86 NCP docker-compose -f docker-compose-nc.yml up -d # x86 NC only IP="192.168.2.130" docker-compose -f docker-compose-armhf.yml up -d # ARM with trusted domain
For nc-forward-ports to work, you need to run with –net=”host”, or setting up the docker0 bridge address to that of your local network, or use the macvlan driver. All of those are advanced or reduce isolation, so I would recommend to do the port forwarding manually at this point.