Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 43 You must be signed in to star a gist
  • Fork 17 You must be signed in to fork a gist
  • Save zenxedo/626275e095f7f90898944a85d66b3be6 to your computer and use it in GitHub Desktop.
Save zenxedo/626275e095f7f90898944a85d66b3be6 to your computer and use it in GitHub Desktop.

This is a work in progress, proceed with caution

Install Proxmox and a Ubuntu VM with Portainer to manage docker containers

Setup Proxmox

  1. Install Proxmox 6.X iso I selected 2 drives in Raid 1 mirror
  2. Console/SSH into Proxmox
  3. nano /etc/apt/sources.list
  4. edit the file to look like this
deb http://ftp.debian.org/debian buster main contrib
deb http://ftp.debian.org/debian buster-updates main contrib

# PVE pve-no-subscription repository provided by proxmox.com,
# NOT recommended for production use
deb http://download.proxmox.com/debian/pve buster pve-no-subscription

set timzone

# security updates
deb http://security.debian.org buster/updates main contrib
  1. nano /etc/apt/sources.list.d/pve-enterprise.list Edit this line and put in front # to comment it out
  2. apt update && apt dist-upgrade -y
  3. reboot system

remove subscription notice nag and hten clear browser cache

sed -i.bak "s/data.status !== 'Active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service

Install Ubuntu

Create ubuntu VM in proxmox. During the prompts select yes to download ssh login into VM with ssh using your credentials

sudo apt-get update
sudo apt-get upgrade

Install Docker

follow this guide to install docker https://docs.docker.com/install/linux/docker-ce/ubuntu/

Install Docker Compose

follow this guide to install docker compose for linux https://docs.docker.com/compose/install/

SSH setup

use this guide to setup ssh https://devops.ionos.com/tutorials/secure-the-ssh-server-on-ubuntu/ or https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys-on-ubuntu-20-04 or alternativley https://www.thegeekdiary.com/using-the-ssh-keygen-command-in-linux/

Mount NFS

https://smallbusiness.chron.com/mount-smb-nfs-shares-ubuntu-31706.html

sudo apt-get install nfs-common
##add persistant nfs with reboots, add a line in /etc/fstab
sudo nano /etc/fstab ## then add the line from below
#    10.68.69.2:/mnt/myVol/docker   /mnt/docker   nfs    auto  0  0
#    10.68.69.2:/mnt/myVol/media   /mnt/media   nfs    auto  0  0

Install Portainer

If you want to get going quickly with portainer use this. Better option is to use docker compose.

docker run -d -p 9000:9000 -p 8000:8000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /mnt/docker/portainer:/data portainer/portainer

Get started with docker compose

https://docs.docker.com/compose/gettingstarted/

mk dir container1
cd container1
touch docker-compose.yml
nano docker-compose.yml
##paste in a docker compose yml of your favorite container and edit the variables correctly, save
##stay in the directory and run
docker-compose up
##navigate to portainer or go directly to you the newly created container

Update Via Docker Compose

Update all images: docker-compose pull
or update a single image: docker-compose pull radarr
Let compose update all containers as necessary: docker-compose up -d
or update a single container: docker-compose up -d radarr
You can also remove the old dangling images: docker image prune

Smb ubuntu

https://help.ubuntu.com/community/How%20to%20Create%20a%20Network%20Share%20Via%20Samba%20Via%20CLI%20%28Command-line%20interface/Linux%20Terminal%29%20-%20Uncomplicated%2C%20Simple%20and%20Brief%20Way%21

add the next configurations into the end of [global] section of smb.conf for windows visiblity

domain master = no
local master = yes
preferred master = yes

and then restart the service:

service smbd restart
service nmbd restart

Docker Commands

docker ps -a
docker images -a
docker-compose ps -a
docker-compose exec —it <cotainer_name> bash
docker run --rm --name test1 -it <image_name:tag> bash
docker stop <container_name>
docker commit <container_id>

docker rmi <image_id>
docker rm <container_id>

dockker-system prune -a

docker-compose start
docker-compose stop
docker-compose pull
docker-compose down
docker-compose up -d <container_name>
docker logs -f <container_name>

Exapanding Ubuntu VM HDD space

choose amount to add to virtual HDD of VM
mount gparted iso to VM
stop VM and boot into gparted
exapand partion to unused space
reboot

Macvlan

  docker network create -d macvlan  \
    --subnet=10.68.69.0/24  \
    --ip-range=10.68.69.0/24 \
    --gateway=10.68.69.1  \
    -o parent=ens18 macvlan0
@denvers
Copy link

denvers commented Mar 29, 2021

I had to change this line to remove the update nag:

sed -i.bak "s/data.status !== 'Active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service

into:

sed -i.bak "s/data.status.toLowerCase() !== 'active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service

@vyv2000
Copy link

vyv2000 commented Nov 15, 2021

Thank you so much!
This problem has been bothering me for a long time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment