Install - Server on Linux VM using Podman with Sudoless Access


Installation Steps

Take the following steps to install the vFunction Podman Server on a Linux VM with Sudoless Access:


As the Root User Before the Installation

  1. SSH to the Linux VM where the vFunction Server will be installed
  2. Confirm that podman and runc are installed. For example, yum list installed podman runc
  3. Create the Rootless User if needed and set the Home Directory to the location where the 100gb of Storage exists. For example, useradd -m vfunction -d /PATH/TO/100GB/STORAGE
  4. If a new user was created, create a password for the Rootless User as well. For example, passwd vfunction
  5. Confirm that the Rootless User has Sub User IDs that can be used by Podman: grep 'vfunction' /etc/subuid. If no results are returned, following these steps to add Sub User IDs
  6. Confirm that the Rootless User has Sub Group IDs that can be used by Podman: grep 'vfunction' /etc/subgid. If no results are returned, following these steps to add Sub Group IDs
  7. Give the Rootless User ownership of the Home Directory where the 100gb of Storage exists. For example: chown -R vfunction:user /PATH/TO/100GB/STORAGE
  8. Allow the Rootless User to continue running the vFunction Server Containers even after the terminal session has ended. For example, loginctl enable-linger vfunction

As the Rootless User Performing the Installation

  1. SSH to the Linux VM where the vFunction Server will be installed
  2. Run cd ~ to move to the Rootless User’s Home Directory
  3. Create directories for the Podman Containers and the vFunction installation: mkdir -p /PATH/TO/100GB/STORAGE/storage tmp measurements db
  4. Run systemctl start podman. If the Rootless User cannot restart Podman without Administrative Credentials, follow these steps here
  5. Run podman ps to confirm that a list of the Containers can be generated without any warning or errors.
  6. Download the latest vFunction Server Podman Installation TGZ and move this package to the current Home Directory
  7. Unpack the Installation Package. Replace VERSION with the actual value.
tar -xvzf vfunction-server-podman-installation.vVERSION.tgz
  1. Optional if using HTTPS: Move the chained SSL Certificate Bundle as server.crt and the SSL Key as server.key into the vfunction/etc/sysconfig/vfunction/nginx/certs/
  2. Open the server-installation.yaml
vi vfunction/etc/sysconfig/vfunction/installation/server-installation.yaml
  1. Set the required and optional Configurable Settings. For example:
  1. Set server.host = http://IP_OF_SERVER:1024
  2. Set server.org_name = NAME_OF_ORGANIZATION
  3. Set server.admin.email = vfunction@NAME_OF_ORGANIZATION.com
  4. Set server.admin.name = Admin
  5. Set server.admin.password = DESIRED_PASSWORD
  6. Uncomment and set storage.database = /PATH/TO/100gb/STORAGE/db
  7. Uncomment and set storage.measurements = /PATH/TO/100gb/STORAGE/measurements
  8. Uncomment networking.disable_ipv6 = true
  1. Optional: Set the Temporary Container Image Storage location is this was modified as a Prerequisite because there was not 15gb available in /var/tmp:
export TMPDIR=/path/to/desired/location
  1. Run the installation script
bash vfunction/opt/vfunction/server-installation/install.sh