Which is OS To run Nextcloud On-premises!

Hello :slight_smile:
What is the Best OS to run nextcloud for best performance
" using Server HP ProLiant 360 G8 "

Take the one you are most familiar with and that is best supported on your hardware. Here is a list of the officially supported OSs: System requirements — Nextcloud latest Administration Manual latest documentation

My personal recommandations would be to use either Ubuntu LTS, Debian Stable or RedHat Enterprise Linux, respectively one of the distributions that are binary-compatible with RHEL like Alma Linux or Rocky Linux. These are the most widely used and therefore it is very easy to find support and tutorials for them. The performance will not differ much, if at all and mainly depends on how configure things and on the hardware it is running on.

4 Likes

Fully agree with bb77 - but consider different virtualization techniques as well like Docker, Snap, LXC etc… they add some complexity but as well they add freedom regarding underlying OS and libriaries (people even reported they run NC on Windows Subsystem for Linux)…

Docker is my favorite - but the most important thing: if you are familiar with specific technology I would recommend to use it and align your system on your know-how rather on some random “best practice”

3 Likes

@bb77 Thanks For Your Replay
im using Centos 7 Right Now , And i was using Ubuntu But Some told me to use Centos Cuz less Requirements and Less Resources
im install On Esxi 6.5 Server HP Proliant 360 G8 " Ram 16 , CPU 8 core "
But its little Slow After i dissable some app its work mush better fine
so what u Guess to Make it get Best Performers :slight_smile:

Thanks For Replay :slight_smile:
i Using ESXI 6.5 and install Centos 7 with 16G Ram , 8 CPU
that is why its getting Slowly ?! or there any Config i need to make

  • i config memcache
  • i disable some apps
    there anything to make to get best performs ?
    Note im Using Sophos XG im guess its slow down connection ?!

As long as you are not using it as proxy, I don’t think the Sophos is a relevant factor here…

But there are many other factors that can impact the performance of Nextcloud. I would start with the topics mentioned in the Server Tuning section of the Nextcloud documentation.

2 Likes

im using Sophos As Filter Traffic in My Network " i guess here working As Proxy and Filter traffic "
that is why i think of that !
in this topic i must make Radis server ?! and all stuff ? to get better

Sorry. I cannot help with that. But Reverse Proxy and Webserver configuration will certainly have an impact on performance.

Well you should have at least some kind of memory cache in place, which you said you have. For only a few users, APCu might do just fine or it might even be slightly faster in certain scenarios with very few users. However for larger instances, Redis will generally be a better choice. And you’re gonna need Redis for Transactional File Locking anways, especially on larger instances.

And do not forget the PHP section in the tuning guide. Especially the configuartion of PHP-FPM and PHP opcache can have a significant impact on the performance of your Nextcloud. Also the overall performance generally got much better with more recent PHP versions. I would recommand to use at least PHP7.4 or better 8.1, to get maximum performance.

1 Like

Thanks Very Mush For Replay :slight_smile:

  • i will Go With Redis For Caching - i was using memchace .
  • Yes i Have Many User Like " 50 " or more
  • i Have php 7.4 ! can i upgrade them to 8.1 ? without i getting Error ?!

I’m not a CentOS/RHEL expert, so I don’t know if there are better ways to do this, but you can install newer PHP versions through the EPEL and Remi Repositories: How to Install PHP 8 on CentOS/RHEL 8/7 Linux

1 Like

Are you using your Nextcloud for private or commercial? At least in a private environment, these kinds of tools don’t make sense.

I assume that you also use this kind of software to access your mail server and other cloud services from Microsoft, Apple, Google and Amazon. :wink: If not, delete the software to not put Nextcloud at a performance disadvantage compared to other services. Regarding security, it brings practically nothing anyway. Virus scanners on the client should be sufficient. Or use a Linux Desktop. :wink:

1 Like

Thanks For all info that u told me :slight_smile:
Thanks for Your Help :slight_smile:

im using Nextcloud in Local Network But When i wana access it from Outside Network im using sophos firewall to protect Private network ! agents people to access network from outside !
if u expert ! so what the solution u using for kind of scenario :slight_smile: i would love to hear your opinion

Normally you do not need a firewall for port filtering. From outside you can only access the ports you have forwarded / services listening. You must allow the ports 80/443. 80 for upgrade Lets Encrypt if you use it. Without firewall also only this ports are possible/listen.
I do not know if you filter content with your firewall. Then there must be a ssl interception e.g. on your reverse proxy. I don’t think much of it. Content should always be filtered on the end systems and not on the reverse proxy.

If you really want to improve the security use 2FA for your Nextcloud. A main problem of access from the internet is username/password . Everybody how knows this can access and your sophos firewall can not help you. For installing 2FA i like this video (sorry german). But there can you get infos who to install the service.

2FA is associated with effort. But unfortunately it is necessary for safety. Software will not be able to do this for you. Not even your firewall.

By the way, Nextcloud has functions built in by default that prevent multiple incorrect logins username/password.

2 Likes

Thanks For your Guide <3

  • im using Sophos to for Port Forward via 80/443 and limited Region to access my Nextcloud.
  • yes using lets encrypt so i open port 80 for that .
    -2FA Noted i will enable it " thanks for that "
    im set the setting so user can access im just testing preform of nextcloud to get Better :slight_smile:

Personally with that kind of hardware I would just dump ESXi, put Ubuntu Server 22.04 on it, and install Nextcloud AIO in Docker. With only 16 GB RAM, you won’t have a lot of slack to do much else in ESXi.

If you want to keep ESXi, give at least 4-8 GB RAM and half the cores to the Nextcloud VM, and be mindful that the server will have other things going on that will impact performance. Use paravirtual SCSI and NIC and thick provisioned disks to get the most out of it.

If you install AIO, redis and the rest will all be taken care of.

2 Likes

Thanks For Your Replay , :slight_smile:
That is what i did

  • install Centos VM on ESXi with 16G Ram and 4 Core with 4 Nic ( 1G )
    and its only vm work on server right now :slight_smile:
  • i think Docker is Good But to config file of nextcloud it will be hard i guess

I would not recommend assigning all available RAM to VMs - keep 2-4 GB spare for the host OS… maybe ESXi is better in managing RAM but be aware.

I don’t think you will see huge performance difference between bare metal, VM and docker as long you use your hardware for this specific task. while running single VM on a server gives you no administrative advantage in terms of installation or operation this VM could be easily moved to another host in case of disaster or hardware upgrade… same applies to Docker which allows better portability at the cost of little overhead… if you setup Docker containers right managing you config.php (or other config files) is not harder than with native install, but this is another technology you need to learn and understand - if you are not familiar with it now running full-blown VM on ESXi sounds reasonable for me, you can migrate later if you find another technology fits better.

1 Like

Thanks For Your Replay :slight_smile:
My Server is Running 48G Ram and 16 Core :slight_smile:
My VM has 16G Ram and 4Core !
so u advice me to give it like 32 G Ram and 10Core ?

I always wonder what benefits are really expected. Your firewall will let through what it needs to let through. Nextcloud has built-in security features. In addition, if you want more security, you should think about 2FA. But then that is mostly too cumbersome. Security should be easy for the user … not necessarily secure.

Is Redis really a big advantage over ACPu on a single system?

1 Like