Installing on QNap NAS?

Complete NextCloud novice here. Can someone point me in the right direction as to how to go about installing a supported version of 12 on my Qnap TS-453? I don’t even know where to start. I’d like to run NextCloud on it and FINALLY get off of Dropbox. Please help!

I’m not interested in a Pi, etc. as I have this beefy device and It’s highly underutilized as just a Plex server, But I’ve seen reports that you should NOT run this on Qnap? What about a VM? I’ve not dabbled with Pi yet,so I’d prefer to stick to something I know in Qnap or a supported VM. What about a docker…Pros/Cons? (con is I’ve not used docker before). Not sure if there was any loss in functionality with this route?

There have been a couple of issues in the past, especially the libxml libraries were too old:

Make sure that your OS provides a more recent version. Qnap itself did provide some packages but they were a lot behind providing current packages, so perhaps it is better to install it manually.

If you can run a 64-bit debian/ubuntu image in a VM, that would be my preferred solution. It quite a default setup, many people use it, everything works and if there are problems, solutions are quickly available (bug fixes, security updates, …).

Use VM or docker or Nextcloud app from Stephane (
Personally I prefer docker solution but it is a little tricky.
Nextcloud app from Stephane requires some depth QNAP knowledge :slight_smile:
VM is a VM :slight_smile:


I have the same NAS at home as you do and I had NC running on it nice and smoothly for a year now. I used the VM from

which is made by @enoch85 .

I think it’s the easiest NC installation you can get.

  • Install Virtualization Station on QNAP NAS
  • copy the VM onto your NAS drives
  • load the VM in Virtualization Station
  • start VM
  • enjoy the extremely easy setup the developers of the VM provide by a script

… and have everything you want running in a few hours (instead of days).
Really the best NC installation experience I ever had :heart_eyes:

To not regret anything I suggest the following:
BEFORE you start the VM

  • give it 2 CPU cores!
  • install enough RAM and assign most of it to the VM
    (I believe 4 GB is a good amount for NAS and then 3 GB for VM)

@enoch85 correct me if I’m wrong and VM with all the features like SpreedMe would need more RAM.

The install script allows you to install Spreed ME and other nice features, but they require enough resources. So for the first startup to profit fully from the initial installation script, you should have these resources already available otherwise Collabora Online (for example) won’t install. And I hadn’t found a way to run that installation afterwards again that easy by a script.

And not only NC is setup very good, the OS (Ubuntu 16.04 LTS) is as well and there is not much to do and change for you. You even get free SSL Certs with automatic renewal every three months.
It’s awesome! :slight_smile:


Thank you! Is that instance of NC on the VM current? I’ve seen some VM/docker solutions that will only run v11 and not v12?

Yeah, that’s even another good part about the VM. You have full access to all files and can install and fix whatever you want. It’s like as if you setup up a whole system yourself, only without the whole effort :wink:
You can run the web updater, can do manual updates on the CMD and reinstall Nextcloud at will. The only limitation is, that it’s in a virtual machine, if you can call it limitation. I think it’s nothing compared to the limitations of docker.

So right now the VM comes with NC12 pre-installed. After starting and setting up everything you can directly run the updater script or use the Web Updater to update to 12.0.1.

1 Like

Thank you @Schmu! It’s users like you that keeps me motivated. I’m really glad that you find the VM to be as good as you describe. :smiley:

Regarding the RAM, you need 2 GB and 2 cores at least dedicated to the VM. If you plan to install OnlyOffice (new in 12.0.1 version) you need at least 4 GB.

And no, running a VM isn’t a limitation, it’s a benefit. :wink:

1 Like

The limitation is however – there is no access to files from QNAP natively :slight_smile:

1 Like

Well it’s as if the NC server runs on a different device, so you access the NAS via network connection (though not leaving the NAS) and can still choose between many protocols (FTP, DAV, SMB, …) :wink:

1 Like

What he said- --^ :slight_smile:

Isn’t it much more efficient (CPU/RAM) to run the Docker image instead of the VM?
Does anyone know how to put the parameters from an NC docker container (eg. wonderfalls image: into the QNAP GUI?:
docker run -d --name db_nextcloud
-v /mnt/nextcloud/db:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=supersecretpassword
-e MYSQL_DATABASE=nextcloud -e MYSQL_USER=nextcloud
-e MYSQL_PASSWORD=supersecretpassword

On my QNAP TS253A on the ContainerStation page I have the option to define an “command” an “environment”… for an Docker Image.

1 Like

My Nextcloud installation is operating on a QNAP-TS253A.

After evaluating several options I have decided to go a for a VM based on a Ubuntu Linux OS (Lubuntu to be exact) and simply installed the available Nextcloud snap.

Works fine for me since ~ 6 month.

Perceived performance compared to a Nextcloud on a Raspberry 3 is a lot better.

Only item which is irritating me right now, is that there is no upgrade of the nextcloud snap to v12.0, even though v12 is out for a while now.

1 Like

Installing NextCloud as VM introduce a problem with managing IP Ports of the QNAP.
How did you setup NextCloud ports 443 and 80?
If we want to continue using QNAP Cloud services on port 443 this is a problem to install Nextcloud on another port than 443 since Letsencrypt certificate need port 443.
Please can you explain what you do?

For the network connection my VM is configured to use the virtual switch.

As result the Linux OS Operating within the VM has its own IP Address within my network and its own exlusive Ports. There is no coupling or dependency to the QNAP OS and Services.

My Internet-Router simply forwards Port 80 and 443 to the IP Address of the Linux OS running within the VM.

P.S.: Port 80 because the automatic renewal of the let’s encrypt certificate requires this port.

1 Like

Thanks for your answer Mattias.

But you loose the Cloud functions of your QNAP NAS since they use port 80 and 443?
QSYNC and other tools are no more usables.
QNAP has the hability to manage CERT from Letsencrypt too and redirecting these port cut off this functionality.
So you don’t use QNAP Cloud?


So you don’t use QNAP Cloud?

Nextcloud offers all the Cloud Services I need (for files, contacts, notes, calendar). For avoiding to disclose Data (even if it is just metadata), I did and do not use QNAP Cloud.

Though I am curious now :slight_smile: . Are there services QNAP Cloud can offer, which Nextcloud does not ?

But you loose the Cloud functions of your QNAP NAS since they use port 80 and 443?

My answer is as result not proven in reality, but should be sound nonetheless.

The use of a virtual Ethernet Switch (works similar to a e.g. small 5 port Switch from TP-Link, but just in SW inside the QNAP) to connect the VM, results in two separate Computers from network point of view.

The QNAP NAS and the VM. Both having their own IP Address and Protocol Stack.

  • Nexctcloud VM (hosted by QNAP NAS):

As result there is no port conflict (e.g. for 80 and 443) and all the QNAP NAS Services should be fully usable.

1 Like

Nope :slight_smile:
I had plenty of sync problems with Qsync. So I migrate to Nextcloud :slight_smile:

How about using docker or app(Stephane version) compared to VM? Because my QNAP is ARM based cpu (ARMx41).

How to sync with local nextcloud when I am outside of home?

Thank you.

The thing about Docker containers are that they have no updating mechanism like snaps have. For ease of future maintenance (trying to think longer term), I wanted to install a snap, not a Docker container, on a QNAP TS-251A, and I was able to do it.

I installed the Nextcloud 13 “Candidate” snap (talked about here). To use snapd, I installed it inside a Linux Virtual Machine (using Debian 9.3, which was current at the time of installation), which I created from scratch on the QNAP . Perhaps this approach might sounds a bit old fashioned, but it proved to be the most straightforward and quick method after going down several unproductive rabbit holes. I suggest that this is actually the easiest fastest way to install Nextcloud on a QNAP, for those who already have good working knowledge of installing and administering a linux server, and are already familiar with a virtualization tool such as Virtualbox.

The QNAP has a default “App” (called “Container Station”) for installing containers (Docker, and/or LXC), but it can create Virtual Machines as well, if you install “Virtualization Station” in the QNAP’s “App Center” (in the web admin interface, both circled in Red here):

Here is what Virtualization Station looks like, below. It’s awesome:

It had all the toys I needed to manage the VM easily, like console access (right through the web admin interface!), and a graphical desktop inside the VM will work from that console. I can also do snapshots of the VM!

I don’t recommend downloading and trying to use a pre-made VM from the Internet (since using this approach, you probably won’t really save any time, and will probably get into a mess). Instead, I recommend just creating a new VM from scratch (“Create VM” button is circled in Red above), just using the VM format that “Virtualization Station” prefers to use natively. Then VM snapshots will be sure to work!

My entire Nextcloud install took about 9 hours, but if I had to do it all over again, following the straightforward advice above, it probably would have taken me, like 6ish hours (not wasting time with failed approaches). I have advanced knowledge of administering Debian linux servers, so there was no learning curve for me there. Use whatever distro you like most, the important thing is that you can install snapd in that distro (which gives you MANY options).

Care to receive some compensation to install on my qnap?