Remote Administration & Updates
Greetings! My first mirror project is destined to be a wedding present for a friend of my wife. It’s been a steep learning curve, but I’m happy with the result. However, this situation presents a challenge for me, the Linux novice.
I would like to be able to get the mirror to update without VPN access to the mirror itself. I’m not sure of their wireless network, but I don’t think I can reliably find its IP address and it’s unknown whether or not their home network will allow VPN connections anyway. So my thought was I could create a Git repository that would represent the installation of the mirror on their RPI. As I push code to master, I would like the Pi to update itself and install new modules, upgrade code and so forth.
I think this will do the trick, but Git and I have a mutually hostile relationship. If I fork Mich’s code to my own account, I can update it without interfering with the rest of you guys. If I then fork every module that I wish to install and clone from these forks, I can update any module in my repository. I am just now investigating submodules in Git and this may be the way to go. But I’m not sure.
Keeping the modules updated would be a simple cron job that I would run at 2 AM every day. It would do a pull from my forks and update to new code whenever I pushed to my fork.
Am I missing anything? Is there an easier solution? Is this actually a solution? Can anyone explain submodules to me in a way that 1) I can understand, and 2) I can implement?
Possibly an easier path may be some kind of folder sharing like dropbox or bittorrent sync. The cron job could simply restart the mirror software.
If you want to use Github you could publish a manifest of module URLs that the cron job downloads into the modules directory, that way you don’t have to deal with maintaining a fork of mirror code and submodules.
@bhepler I’m currently using a VPN called NeoRouter. It dose not require any ports to be open for the clients only for the server. The plus is if you have or host your own server somewhere like i do with Digital Ocean which only cost me 5 US dollars a month. I can control all of my Pi’s that are not connected to my network.
I hope this help.