This is an old revision of the document!
Setup Docker on Photon OS on ESXi, and install Portainer and Unifi Controller.
Setup minimal installed profile of PhotonOS
OVA with virtual hardware v15
from https://github.com/vmware/photon/wiki/Downloading-Photon-OSCreate/Register VM
:Deploy a virtual machine from an OVF or OVA file
Target Datastore
Power on automatically
Finish
Host
> Manage
> System
> Autostart
:Enable
Start earlier
and Start later
to set the desired orderVirtual Machines
on the sidebar and click on the current VMActions
> Edit Settings
:Add other device
> NVMe controller
Hard Disk 1
> Controller location
> NVMe controller 0
Edit Settings
SCSI controller 0
Hardware Configuration
> Network adapter 1
) and desired hostname# Login with root details from the VM note # Follow instructions to set new password # Remove docker related packages if not needed to save space and faster updates tdnf erase containerd docker docker-cli docker-engine # Update packages: tdnf upgrade tdnf clean all # Disable password expiry: chage -M -1 root # Set new hostname: hostnamectl set-hostname <hostname-as-set-in-router> # Set the timezone to Perth ln -sf /usr/share/zoneinfo/Australia/Perth /etc/localtime # Change the SSH port to 50001: sed -i "s/#Port 22/Port 50001/" /etc/ssh/sshd_config sed -i "s/-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT/-A INPUT -p tcp -m tcp --dport 50001 -m state --state NEW -j ACCEPT/" /etc/systemd/scripts/ip4save exit
Minimal installed profile of PhotonOS User: root Ports: 50001/tcp SSH
Base Install
Then set up Portainer and Unifi Controller:
# Enable Docker to run at startup: systemctl enable docker # Install Portainer: docker volume create portainer_data docker run --name Portainer --restart=always -d -p 8000:8000 -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer exit
local
endpointUnifi Controller
jacobalberty/unifi:latest
container
> /unifi
bind
host
> /root/unifi
JVM_MAX_THREAD_STACK_SIZE
> 1280k
TZ
> <Timezone of server>
Unless stopped
Unifi Controller
entry to the IP address of the Unifi controller under the Services
> DHCP Server
> Details
screen for any EdgeRouters that host Unifi devices that wish to be connected to the controller.Configured
snapshot, and start the VM againDocker host: Portainer: 8000/TCP, 9000/TCP http Web Interface http://<server.example.com>:9000 User: <User> Unifi Controller: 10001/udp, 3478/udp 6789/tcp, 8080/tcp 8443/tcp https Web Portal 8843/tcp, 8880/tcp https://<server.example.com>:8443 User: <User>
Run systemctl enable docker
after updating to re-enable docker starting on boot
tdnf upgrade
tdnf clean all
reboot # If desired/needed
Reconnect and run:
# Update the Portainer image: docker pull portainer/portainer-ce # If it responds with: # Status: Downloaded newer image for portainer/portainer-ce:latest # then run the following to update the container docker stop Portainer docker rm Portainer docker run --name Portainer --restart=always -d -p 8000:8000 -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce