Skip to content

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