My homelab server has several services on it (personal website, Nextcloud, Jellyfin, etc…) that I access via a VPS, which uses Nginx as a reverse proxy, and tunnels traffic to/from my server at home via a mesh VPN. The VPS’ connection is very fast, but the VPN is rather slow, and bottle-necks the setup.
As a solution, I’d like to try to use the VPS as a cache, this way it would lessen the need to fetch content from my homelab through the slow connection. However, I am unsure about the most effective way to do this. I know that Nginx has a built in caching feature, but I’m not sure if/how I need to configure it to work with services like Nextcloud; or is there is a better, additional piece of software for the job?
Disclaimer: I know things like Cloudflare exist for caching, but I wanted this to be an educational, as well as practical project.
If all those services are web based, squid might be a suitable caching option.