I have a similar situation because storing my FTP files (terabytes) and database files (ISP supports only one user login) and CPU usage was too much for my ISP.
I store all my:
web sites on the ISP (with www.webappdevelopments.com domain)
Xojo standalone on DMZ configured in my router with the domain on my ISP e.g. mysql.webappdevelopments.com, postgres.webappdevelopments.com, happs.webappdevelopments.com:9001) for my standalone Xojo web apps
I have the router send all FTP to a different Mac (via port 21/22) so it is not affected if I take the Xojo web server down).
The downside is accessing the machines via their ISP domain names within the home/office network is impossible without either:
editing the ‘/etc/hosts’ file and adding a line like ‘192.168.0.2 happs.webappdevelopments.com’
installing a DNS server and adding the local domains
Now my two massive servers are accessible from home and abroad for essentially no cost. CrushFTP is on an ancient iMac while a recent Mac mini with i7, 16GB RAM and 8 cores is running Xojo apps, MySQL and PostgresApp. I would give every process a different domain name, as this will make moving services to other machines much easier.