Standard Apache
install ubuntu
2 cpu cores 2gb mem 8gb disk
run through install
all default other than UK set username etc
updates
sudo apt update sudo apt upgrade
reboot
sudo shutdown -r now
install apache and mod_wsgi
sudo apt install apache2 libapache2-mod-wsgi-py3
get server ip:
ip addr
browse to server ip and should see apache default page
http://<server-ip>
clone project from git
git clone https://github.com/lupinelab/vmupdown.git
install required pip packages
pip install -r requirements.txt
change permissions
sudo chown -R www-data:www-data /var/www/html/<project-name>
quick cleanup of html folder (not really required but it annoys me)
sudo rm /var/www/html/index.html
move .conf file to /etc/apache/sites-available folder
sudo mv
/var/www/html/<project-name>
/etc/apache2/sites-available/
disable default apache site
sudo a2dissite 000-default.conf
follow instructions to setup proxmox and write config in config.py:
https://github.com/lupinelab/vmupdown
enable project site
sudo a2ensite <project-name>.conf
broswe to server ip and should see site
http://<server-ip>
Docker
stop apache2
sudo systemctl stop apache2
disable apache2
sudo systemctl disable apache2
install docker
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=\$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce
check docker service is running (look for "Active: active (running)")
sudo systemctl status docker
make folder for config and copy /var/www/html/vmupdown/vmupdown/config.py to ~/docker/vmupdown/config.py
mkdir -p \~/docker/vmupdown cp /var/www/html/vmupdown/vmupdown/config.py \~/docker/vmupdown/config.py
create docker container from dockerhub
sudo docker create --name=vmupdown -p 8080:80 -v /home/<username>/docker/vmupdown/config.py:/var/www/html/vmupdown/config.py --restart unless-stopped lupinelab/vmupdown
start docker container
sudo docker container start vmupdown