Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Drauku/557bfd0d6e2089eeceec4b4934210f0f to your computer and use it in GitHub Desktop.
Save Drauku/557bfd0d6e2089eeceec4b4934210f0f 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

# 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment