<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Apr 3, 2018 at 1:52 PM, Alex Beamish via talk <span dir="ltr"><<a href="mailto:talk@gtalug.org" target="_blank">talk@gtalug.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Hi All,</span><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;font-size:12.8px">The technical challenge I'm trying to solve is to provide an off-line version of an API that runs on a laptop. This API would be primed with the appropriate data set from the cloud, then would be used off-line during data entry. Data would only be added, not modified or deleted during that time. <span style="font-size:12.8px">Once back on-line, the cloud would be updated with the new data.</span></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;font-size:12.8px"><br></div>It looks like Docker has a technical solution that runs a Windows VM inside Windows, but what I'd love to have is a Linux VM running inside of Windows that would have a self-contained web server and database.</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><span style="font-size:12.8px">I could probably implement this in a Windows container, but it would be so much easier to do in Linux. </span></div></div></blockquote><div><br></div><div> Hi Alex,</div><div><br></div><div>We do exactly what you are describing on a project I'm working on. We deploy Debian Linux virtual machine images created using Packer that contains our web application software stack. Our customers deploy those images in Hyper-V, VMware ESXi 5.5, 6, or 6.5, or VirtualBox. On first boot, the sysadmin uses a Django web application we include in the VM to configure the VM. That Django application saves key/value pairs representing things like networking information, database connection credentials, and the version of our software they want to run. When the Django form is saved, Django also creates a YAML file. That YAML file is being monitored by inotifywait and when the change is detected, that kicks off Salt to configure the virtual machine. Salt is in a masterless minion configuration. We have PouchDB within the VM to store some data that must be present when the VM is first started. The PouchDB database within the VM synchronizes with a CouchDB database running on AWS. The CouchDB synchronization protocol Just Works. It is eventually consistent and for our use case, that is acceptable. Feel free to contact me off-list if you have any questions.<br class="gmail-Apple-interchange-newline"><br clear="all" style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><div class="gmail_signature"><div dir="ltr">Regards,<div><br></div><div>Clifford Ilkay</div><div><br></div><div>+1 647-778-8696</div></div></div></div></div></div></div></div><img src="https://my-email-signature.link/signature.gif?u=206693&e=20837053&v=0434dd14e80b2a1ce6830c9b84d33823e03400d7efa85b4fcd6d1fb23307d4e5" style="width:0;max-height:0;overflow:hidden">