Wanderer

Out of Date

This article is currently out of date and needs to be re-written. This is being kept around as reference for an updated article when Network Proposal V2 has been implemented and Wanderer is redeployed

VM setup

Ubuntu Server: 24.0.4 (Latest)
Packages installed: Docker, Magic-wormhole

LVM Group

DO NOT INSTALL WITH A LVM GROUP

static ip setup

Subnet: 192.168.1.0/24
Address: 192.168.1.2
Gateway: 192.168.1.1
Name Server: 8.8.8.8

Wanderer Install + config

Install Docker
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

# Install Docker 

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Install Wanderer
# On new machine from backup:

sudo docker network create web
sudo docker compose -f docker-compose.yml -f reverse-proxy/docker-compose.caddy-gen.yml up -d
Upgrade Wanderer
# Manual Upgrade 

sudo nano docker-compose.yml 
	wandererltd/community-edition:vX.X.X

sudo docker compose stop wanderer #Stop Wanderer container
sudo docker compose rm wanderer #Remove container
sudo docker compose -f docker-compose.yml -f reverse-proxy/docker-compose.caddy-gen.yml up -d

# Verify images 
docker images --filter=reference='wandererltd/community-edition:*'

# Remove old image if needed 

docker rmi <Image ID>
# Automated upgrade

sudo ./scripts/upgrade.sh

Backup + Restore

Daily Backup

The daily_backup.sh script will run once a day, via cron. This runs the backup.sh script which only copies the data within the postgres docker container. The purpose of the data only backups is for restoring the database where the schema remains the same (ie. same version).

# sudo crontab -e

0 2 * * * /full/path/to/daily_backup.sh >> /full/path/to/daily_backup_cron.log 2>&1
Full Backup

Full backups are run right after version upgrades. This is to ensure that the version used for the backup is known at all times. This is to avoid any possible issues that may occur from using a full backup of previous versions that may have schema differences.

sudo ./path/to/full_backup.sh
Restore from daily backup
Restore from full backup

References

https://github.com/wanderer-industries/community-edition/tree/main?tab=readme-ov-file
https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository