Custom Appliance Setup
Requirements
In order to install a panagenda product on a custom appliance, the following requirements must be met:
Software Dependencies
- Docker version >= 19.03 (https://docs.docker.com/install/)
- Docker Compose version >= 1.21 (https://docs.docker.com/compose/install/)
- unzip (to extract the installer from our zip file)
Partitions
Our software needs a second virtual disk to store its data. You, therefore, need to add a second 100 GB virtual disk to the virtual machine using vSphere and restart the virtual machine.
Afterwards please create the following volumes:
Volume | Mount point | Size |
---|---|---|
cl-pan-opt_panagenda_logs | /opt/panagenda/logs | 5GB |
cl-pan-opt_panagenda_appdata | /opt/panagenda/appdata | 30GB |
cl-pan-opt_panagenda_pgdata | /opt/panagenda/pgdata | min 60GB
|
The naming of the volumes is important because the software will use the names to check the disk usage to prevent data corruption!
Technical Support
To facilitate technical support you should also install:
- A graphical user interface (e.g. GNOME)
- A terminal (e.g. GNOME Terminal)
- A browser (e.g. Firefox)
- pgAdmin (https://www.pgadmin.org/download/)
Example for CentOS 7
We tested the following commands to install the requirements on a CentOS 7.7 server. They should also work for RHEL 7.
In our case the device name of the data disk was /dev/sdb. This might be different in your scenario. The following command can be used to determine yours:
ls /dev/sd*
Afterwards please adapt the pvcreate and vgcreate commands.
# Upgrade system yum upgrade # Install UI yum groupinstall "X Window System" yum install gnome-classic-session gnome-terminal liberation-mono-fonts # Install pgAdmin 3 yum install wget wget dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-12.noarch.rpm yum install epel-release-7-12.noarch.rpm yum install pgadmin3.x86_64 # Install Firefox yum install firefox # Partitions, e.g. on /dev/sdb pvcreate /dev/sdb # Create volume group vgcreate cl-pan /dev/sdb # Create logical volumes (logs & appdata fixed size, remaining space used for data volume) lvcreate -n cl-pan-opt_panagenda_logs -L 5GB cl-pan lvcreate -n cl-pan-opt_panagenda_appdata -L 30GB cl-pan lvcreate -n cl-pan-opt_panagenda_pgdata -l 100%FREE cl-pan # Create file systems mkfs.xfs /dev/cl-pan/cl-pan-opt_panagenda_logs mkfs.xfs /dev/cl-pan/cl-pan-opt_panagenda_appdata mkfs.xfs /dev/cl-pan/cl-pan-opt_panagenda_pgdata # Create mount points mkdir -p /opt/panagenda/logs mkdir /opt/panagenda/appdata mkdir /opt/panagenda/pgdata # Add mount point entries echo /dev/cl-pan/cl-pan-opt_panagenda_logs /opt/panagenda/logs xfs defaults 0 0 >> /etc/fstab echo /dev/cl-pan/cl-pan-opt_panagenda_appdata /opt/panagenda/appdata xfs defaults 0 0 >> /etc/fstab echo /dev/cl-pan/cl-pan-opt_panagenda_pgdata /opt/panagenda/pgdata xfs defaults 0 0 >> /etc/fstab mount -a # Install Docker yum install yum-utils yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install docker-ce mkdir /etc/docker echo '{ "bip": "172.17.0.1/16", "data-root": "/opt/panagenda/appdata/docker" }' > /etc/docker/daemon.json systemctl enable docker systemctl start docker # Install Docker Compose curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose # Install unzip yum install unzip