How-to Guide – Create a Proxmox VE 5.0 AllOne with Docker | ServeTheHome and ServeThe.Biz Forums

How-to Guide – Create a Proxmox VE 5.0 All-in-One with Docker | ServeTheHome and ServeThe.Biz Forums

Get KVM virtualization, ZFS/ Ceph storage and Docker (with a GUI) all-in-one setup

This guide has how to create a KVM/ LXC virtualization host that also has Ceph storage and ZFS storage built-in. The same host will also have access to bare metal Docker-ce containers using Portainer as a GUI management.


Main site post: Create the Ultimate Virtualization and Container Setup (KVM, LXC, Docker) with Management GUIs


1. Install Proxmox VE 5.0
2. Make the following sources adjustments so you can update:

To fix this first add the no subscription sources:


# nano /etc/apt/sources.list  add:  deb stretch pve-no-subscription

Then remove the enterprise source:


# nano /etc/apt/sources.list.d/pve-enterprise.list  comment out (add a # symbol in front) of this line:  # deb stretch pve-enterprise


apt-get update && apt-get dist-upgrade -y

3. Reboot
4. Install docker-ce:


apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common  curl -fsSL | apt-key add -  apt-key fingerprint 0EBFCD88  add-apt-repository "deb [arch=amd64] $(lsb_release -cs) stable"  apt-get update && apt-get install docker-ce -y

You should now be able to do docker ps and see no containers are running.

5. Install Portainer with a persistent container
Just for ease of getting started, we are going to make a directory on the boot drive. You should move this to other storage, but this makes it simple for a guide:


mkdir /root/portainer/data

Install Portainer for a Docker WebGUI


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

Again, make the directory on ZFS storage or similar, not in the root directory.

Wait about 15-30 seconds after you see Portainer start (you can check docker ps to see status.)

6. Your logins:


Proxmox GUI: <serverip>:8006  Portainer GUI: <serverip>:9000

7. Configure Docker to restart on boot:


sudo systemctl enable docker

At this point, you now have a GUI for everything you might want.