Installing Nextcloud on Native Windows + Caddy Server

Im attempting to run nextcloud natively on windows with all my currently setup Caddy Reverse Proxy. I was able to do that with wordpres using a stock php-cgi.exe and php 7.4 running a command through nssm. I want to now install nextcloud in native windows but the other issue im having is i want to use caddy for the reverse proxy. Any help would be greatly appreciated! I can link all the steps to my youtube video for setting up wordpress natively if anyone would like to see how i got that php dependent program running. I do have docker-desktop but im currently using in my reverse proxy of caddy i have the cloudflare plugins and have no idea how to get that working in docker. Plus natively will be easier to work with so docker is not preferred.

Different fra wordpress, then Nextcloud is a filemanagement system, which happens to be build as a web app. this has the unfortunate effect that it also centers around securing those files. The core codebase is dependant on a *NIX filesystem like EXT4, BTRFS or OpenZFS, to keep access strict also on native OS. Windows uses NTFS, hence is not supported.

The actual WEB backend PHP can be executed on a windows system without issues (Not the NC codebase, but any other projects written with same libraries, but explicitly to run on a windows system). However Nextcloud consists of CLI PHP aswell, and is written solely to support filesystems which implements the Linux core PAM. You will never get Nextcloud to run satisfactorously on a native windows system.
Using Docker and a mounted drive formatted as one of the above, MIGHT theorethicaly be possible, but then it is strictly speaking, not native windows.

If you really wants to run this on a windows host, this guide might be the best way forward. Remind you that it makes use of WSL2, hence Nextcloud will not be running on a native windows filesystem as such, and you will still need to get your hands dirty and learn some Linux:
However you should still be able to use a MariaDB, Postgresql or Oracle Database server on any type of host of your choice.
You could use the local Windows IIS as a reverse proxy to not exspose the WSL container anywhere. Unfortunately that might give you a client → Caddy (reverse proxy) → Windows host IIS (Reverse Proxy) → Apache2/nginx/caddy/whatever webserver you installs in your WSL, hence will be overkill, as you can fix all of it with a simple windows firewall rule and port forwarding.


No offense, but wouldn’t this time be better spent to learn some Linux skills? All those Windows tutorials about installing web applications, always seem to be much more complicated than doing the same thing on a Linux system. I don’t even want to talk about the security risks that may emerge due to the additonal layers of complexity. So why not spin up a Linux VM and get your hands dirty. After some initial effort, you’ll realize how easy things can be… :wink: