You’re overthinking. You also have waaaay more compute than you need for this one.
- I dunno about GUI recommendations. I never install a GUI on any Linux servers that I run, unless forced for other reasons. GUIs are for Windows people
- Yes all Linux distros will have python there. You want python3 since python2 is past EOL. All modern distros will have python3 present and most will set it as the default.
- That is a little surprising actually but sure, fine.
Given that you have a Linux laptop now, I’d suggest just use that and not worry Windows at all. If you’re gonna dive in, go for it.
Option 1 - just install it to your laptop
Simplest way to install weewx plus a nginx webserver on your debian laptop is to just run my provisioner script that’s available (HERE) on GitHub.
That script downloads all the prerequisites for weewx for your os, installs it, and installs and configures weewx in Simulator mode. It sets the lat/lon/timezone to my location here near Seattle, which doesn’t really matter if you’re running the Simulator. You could comment out (or edit) the lines at the bottom of the file to match your location.
What should happen is weewx will run and nginx will as well, so you should be able to see weewx webpages at http://x.x.x.x/weewx in 5 minutes after it runs it’s periodic routine to generate the web pages.
Option 2 - go the VM route on Linux
Alternately - if you want to go VirtualBox on your Linux laptop that would be fine too. Install that ‘plus’ Vagrant. Git clone my repo (HERE), cd into setup/debian10, and run “vagrant up” and it’ll build and start a VM with the same resulting configuration. To nuke the VM just run “vagrant destroy” in that directory. Super cool way to spin up and tear down test environments.
Option 3 - go the VM route on Windows
Don’t do that. It would make all the Linux people sad
Actually it works great there too. Same as option 2 above except you’d want to download a git client for Windows. Personally I use cygwin for this.
Personally - I’d say go option-1 above and go pure Linux right off the bat. If you wanted to remove things you’ve installed, it’s just a couple commands to run. Easy.
If you need some free self-paced Linux training take the edx.org Introduction to Linux class that almost 700,000 people have taken. Link is (HERE). Ignore anything there saying pay to play, as the course is totally free. Just ignore the bogus certificate of completion silliness. That course will get you the fundamentals for how to work in a Linux world.