Provision an Ubuntu-based weather station host with hotspot access, AnyDesk, Docker, ser2net, PyVantagePro, and the vantage-publisher stack.
The original repository was tightly coupled to a single machine layout. It has been updated to:
- use
config.envfor machine-specific values - generate systemd and GDM config files from templates instead of copying placeholders
- stop assuming the target user is always
weather - remove the hard-coded SSH key injection
- avoid world-writable
/storage - fix the EEPROM backup path typo and make helper scripts read shared runtime settings
Before running the installer on a fresh Ubuntu system:
sudo apt update
sudo apt upgrade -y
sudo reboot
sudo apt install -y git openssh-serverClone the repository:
cd "$HOME"
git clone https://github.com/CCMMMA/weather-initialization.git
cd weather-initializationCopy the example configuration and edit it for the target machine:
cp config.env.example config.env
vim config.envAt minimum, set:
ANYPWD: password used for AnyDesk and the hotspot
Useful optional settings:
WS_USER: Linux user that will own the weather station services and filesVPN_CONNECTION_NAME: NetworkManager VPN connection to keep aliveAUTHORIZED_KEYS_FILE: file containing public SSH keys to append toauthorized_keysWEATHER_DEVICE_URL: device URL used by PyVantagePro, defaulttcp:127.0.0.1:22222WEATHER_SERIAL_DEVICE: serial device exported byser2net, default/dev/ttyUSB0STORAGE_DIR: archive/log root, default/storage
Make the installer executable and run it with sudo so it can detect the target user:
chmod +x ./initialize-weather.sh
sudo -E ./initialize-weather.shThe script will:
- configure the hotspot
- install packages and AnyDesk
- install Docker and the Docker Compose plugin
- configure
ser2net - install the network recovery service
- install PyVantagePro
- clone and start
vantage-publisher - schedule weekly reboots and hourly EEPROM backups
At the end it prints the AnyDesk ID and offers to reboot.
initialize-weather.sh: main installerconfig.env.example: editable machine-specific configurationutil/connection-status.service.template: templated systemd unit for connectivity checksutil/custom.conf.template: templated GDM autologin configutil/eeprom.sh: hourly EEPROM backup helperutil/vpn-checker.sh: connectivity watchdogutil/backup-eeprom.py: export archive data from PyVantagePro to CSV
- This installer expects an Ubuntu host with NetworkManager and
systemd. - Network downloads are part of the install flow because Docker, AnyDesk, PyVantagePro, and
vantage-publisherare fetched during setup. - Review
config.envbefore each deployment rather than relying on repository defaults.