Where is the NGINX conf file located on a docker install?

Hi all, running nextcloud 29.0.4 in docker on unraid. Using the custom image by kilrah that includes ffmpeg.

I can’t for the life of me figure out where the NGINX configuration file is located. I am trying to configure the caldav and carddav resolution. The file doesn’t seem to be in the volume mounted to the container for appdata. This container is setup differently than the usual documentation suggests, with all nextcloud files being in /var/www/html instead of /var/www/nextcloud. I am unsure if this is the cause. I am also concerned that the nginx config might not be in a volume somewhere, which worries me incase I ever pull a new image.

If that third-party image set is actually based on the community/micro-services Docker image set like it says, then there is no Nginx in it. The answer will also depend on whether you’re using the fpm variant or not.

You’ll need to look at your Compose file (or share it) to give a better idea of your entire Nextcloud stack.

I am trying to configure the caldav and carddav resolution.

Since that image is based on the micro-services image, you can see how it’s normally done in the examples for that image set: Code search results · GitHub

This is on Unraid, so compose files are not used. Unraid uses a template system.

However, the dockerfile from the docker hub repo I am using is listed on kilrah’s github.

I wasn’t aware you could search github that way, so thanks for showing me that. However I was already familiar with the changes I needed to make. I just needed to know where I can make those changes and have them be persistent. Seems like the easiest way to make the changes (if config files are not persistent) would be through Unraid’s GUI for the container, which allows env variables and other things to be added on startup.

I seem to have resolved this. Since the nginx config is loaded in ephemeral storage, I created my own nginx.conf and mounted it to the container in the /etc/nginx/conf.d directory as custom.conf.

This is what that configuration looks like:

I realize the host path is cut off. But this is just wherever you choose to store the custom nginx.conf file. In my case, I put it in /mnt/user/appdata/nextcloud-ffmpeg/custom_config/nginx.conf. Which is the directory already used by my nextcloud installation to store persistent files.

I used the example config listed on the official github as referenced by @jtr in my installation. After mounting my configuration file that includes carddav and caldav resolution, my nextcloud instance is no longer complaining about incorrectly configured carddav and caldav.