Basically, you’re running into this (as far as I understand from your post)
uri cannot rewrite responses, it only rewrites the request on the way in.
I’m not sure I understand what you’re trying to do though. Where is this file you’re trying to serve? Is it actually on disk at /var/opt/website/home/core/img/manifest.json? That’s where file_server is looking for it with your current config.
Please don’t forget to persist /data when running in Docker, especially when using Let’s Encrypt for certificates, otherwise you’re throwing away your certificates and keys every time you re-create your Caddy container. Docker Hub
For what it’s worth, I’d write your config (what you have so far) like this:
I’m not sure what you’re saying here. Yes, you’ll hit rate limits if you don’t have a volume that persists /data, like I said. If you add the volume, you won’t hit rate limits. You should use Let’s Encrypt’s ACME staging endpoint when you’re testing your setup, because it has looser rate limits (but its certificates re not trusted).
Why not just serve a subdomain like nc.example.com for nextcloud instead of serving it under a subpath? I think that would simplify things and fix your problem.