Old question and problem is probably solved, but this is how my setup would solve this issue.
I run my host based on Ubuntu 18.04 server at DigitalOcean using mostly this setup:
https://blog.simos.info/trying-out-lxd-containers-on-ubuntu-on-digitalocean/
Depending on your security needs you might want to set up a VPN solutions,
but there is a firewall and you need to open port 8443 with other needed ports like 22.
This is a bit old, but a lot of good information regarding LXC/LXD
https://stgraber.org/2016/04/12/lxd-2-0-remote-hosts-and-container-migration-612/
You add your DigitalOceanHost as a remote host:
OnPremHost#lxc config set core.https_address [::]:8443
OnPremHost#lxc config set core.trust_password something-secure
DigitalOceanHost#lxc config set core.https_address [::]:8443
DigitalOceanHost#lxc config set core.trust_password something-secure
OnPremHost#lxc remote add DigitalOceanHost "DigitalOcean IP"
Generating a client certificate. This may take a minute...
Certificate fingerprint: ca5484446dfgsdg4dfgs6gs4g6d465s4g6sgcg659h8gy8hg4ahdjhjkj6
ok (y/n)? y
Admin password for DigitalOceanHost:
Client certificate stored at server: DigitalOceanHost
OnPremHost#lxc snapshot localContainer remoteContainer
OnPremHost#lxc copy localContainer/remoteContainer DigitalOceanHost:DigitalOceanContainer
Then I manage the containers from on prem Host like:
OnPremHost#lxc list DigitalOceanHost:
+----------+---------+---------------------+------+------------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+----------+---------+---------------------+------+------------+-----------+
| container| RUNNING | 10.10.10.10 (eth0) | | PERSISTENT | 1 |
+----------+---------+---------------------+------+------------+-----------+
OnPremHost#lxc exec lxchost3:container bash
container#
See https://gist.github.com/berndbausch/a6835150c7a26c88048763c0bd739be6 for more lxc commands.
This way it's easy to maintain the containers using snapshots as backups stored on local storage and script most of the tasks.