OpsWise Controller Docker Install
1. About
-
This document assumes the following:
-
UAC Controller will be hosted in a docker container. Here is the official documentation.
-
UAC OMS Server will also be hosted in a docker container. Here is the official documentation.
-
2. Prep
2.1. MySQL Prep
-
Update DB Server info
-
In the
docker-compose.ymlfile update entries for:-
MARIADB_ROOT_PASSWORD
-
-
2.2. Install Prep
2.2.1. Downloads
-
Download the latest docker controller file and place it in the
uac-installation-filesdirectory.Example file nameuniversal-controller-7.9.1.0-docker-rhel-ubi9-x86_64.tar.bz2 -
Download the latest Redhat based docker agent file and place it in the
uac-installation-filesdirectory.
2.2.2. Convert Image File
-
cd into the folder
cd uac-installation-files -
Run the following to decompress the image and load into Podman’s local image storage.
bunzip2 -c universal-controller-7.9.1.0-docker-rhel-ubi9-x86_64.tar.bz2 | podman loadExample outputGetting image source signatures Copying blob 004d2c90a656 done | ... Writing manifest to image destination Loaded image: docker.io/library/universal-controller:7.9.1.0 (1)1 This is the UAC Controllerimage file name. -
Confirm image has been loaded into the Podman’s local image storage.
Run this commandpodman imagesSample outputREPOSITORY TAG IMAGE ID CREATED SIZE docker.io/library/universal-controller 7.9.1.0 05b8ccad7615 5 weeks ago 943 MB (1)1 This is the UAC Controllerimage fileThe name is different from the imported file name.
3. Launch GUI
-
Open FW Ports:
Add port 8085 for OpsWise interfacesudo firewall-cmd --add-port=8085/tcp --permanentAdd port 7878 for OpsWise OMSsudo firewall-cmd --add-port=7878/tcp --permanentRestart FW daemonsudo firewall-cmd --reload -
Browse to:
http://<ip address>:8085/uc/ -
Log in with user=
ops.adminwith no passwordYou will need to change the password immediately upon initial login.
4. Setup
4.1. Preliminary
-
Configure
LDAP -
Rename Agents
-
Rename the initial Linux agent to
AGNT0001 -
Rename the
P-Ubuntu-Norco*Linux agent toP-Ubuntu-NORCO -
Rename the
P-Ubuntu-NAS*Linux agent toP-Ubuntu-NAS -
Rename the
Norco*Windows agent tonorco
-
-
Set system property for
Resolvable Credentials Permittedto True. -
Create a user (not a credential) that can access the Web API
-
Create a user with the following properties:
-
user Id =
web-api-user -
First Name =
Web Api User -
Web Browser Access =
No -
Command Line Access =
No -
Web Service Access =
Yes
-
-
Grant this user the
ops_adminrole.
-
4.2. Import Universal Templates
-
Import
Jobs as Code\\norco\Stuff\Appz\_Schedulers\Stonebranch\Integrations\JaC\unv_tmplt_jobs_as_code-1.0.0+414.zip -
Import
LAZ-Win-UAG-Upgrade\\norco\Stuff\Appz\_Schedulers\Stonebranch\Integrations\LAZ\unv_tmplt_laz_win_uag_upgrade.zip -
Import
SSH\\norco\Stuff\Appz\_Schedulers\Stonebranch\Integrations\UAC\Remote SSH Server\unv-templ-ut-remote-ssh-server-json-1.0.1.zip -
Import
XS-RoboCopy\\norco\Stuff\Appz\_Schedulers\Stonebranch\Integrations\XS\unv_tmplt_xs_robocopy.zip -
Import
XS-RSync\\norco\Stuff\Appz\_Schedulers\Stonebranch\Integrations\XS\unv_tmplt_xs_rsync.zip
4.3. Restore Definitions for Tasks, etc
-
Restore Credentials
-
Goto Credentials
-
Upload all credential files
Source folder\\norco\Stuff\Appz\_Schedulers\Stonebranch\Bootstrap\Credentials\
-
-
Fix Credentials
-
For the
mattosdcred, fix the password. -
For the
linux-mattosdcred, fix the password. -
For the
linux-rootcred, fix the password. -
For the
gitlabcred, re-input theTokenvalue.If unknown, goto GitLab, open the Repo-UACproject, and generate a new access token -
For the
cred: Web-Api-Userupdate the password from the user account created earlier.
-
-
Restore All Tasks
-
Restore from the single All Tasks file.
This file will need to be imported twice!
The 2nd import will link sub-workflow with workflows.
-
-
Alter
Jobs as Codetask.-
For the
JaC: Import from GitLabtask, update theUniversal Controller URL fieldExamplehttp://192.168.1.10:8085/uc/
-
-
Restore Triggers
-
Restore
Source folder\\norco\Stuff\Appz\_Schedulers\Stonebranch\Bootstrap\Triggers -
Enable Triggers
-
5. Misc
5.1. Log files
5.2. DB
5.2.1. Dump the DB
-
Run the dump-db.bash script
This will create a dump file in MariaDB-data/backupssudo dump-db.bash
5.2.2. Restore from DB
| Confirm you have a DB restore file to restore from before proceeding! |
-
Stop the pod-uac-server pod
podman-compose down -
Delete the MariaDB-data/ folder contents
sudo find ./MariaDB-data/ -mindepth 1 \ ! -path './MariaDB-data/restores' \ ! -path './MariaDB-data/restores/*' \ ! -path './MariaDB-data/backups' \ ! -path './MariaDB-data/backups/*' \ -exec rm -rf {} + -
Set ownership on the ./MariaDB-data folder
sudo chwon -R 525286:525286 ./MariaDB-data -
Start the pod-uac-server pod
podman-compose up -d -
Run the restore-db.bash script with the name of the db restore file
examplesudo ./restore-db.bash ../opswiseDB_2025-08-16-09_04_54.sql -
Now continue by following the the Bootstrap section of this doc.
5.2.3. Connect to DB
-
Connect to the MariaDB server using the
mysqlclientConnect as root directly from the UAC-MariaDB containerpodman exec -it UAC-MariaDB mysql -u root -pyou’l need to provide the MariaDB root password that’s set in the compose.ymlfile.Connect as opswise_db_admin directly from the UAC-Server containerpodman exec -it UAC-Server mysql -h uac-db -u opswise_db_admin -pyou’l need to provide the opswise_db_admin password that’s set in the db\1-setup.sqlfile.
6. Uninstall Containers
|
This will destroy all data! Do this when the license expires. |
-
Run the
destroy uac script:sudo ./detroy-uac.bash
7. Upgrade the Controller
-
Download the latest controller file and place it in the
uac-installation-filesdirectory.Example file nameuniversal-controller-7.4.1.7.zip -
Connect to the
UACcontainersudo docker exec -it UAC-Server bash -
Extract the
warFile-
Go to the installation folder
cd /tmp/uac-installation-files -
Unzip the insall file
unzip universal-controller-7.4.1.7.zip -
Rename the
warfilemv universal-controller-7.4.1.7-build.36.war uc.war
-
-
Shutdown the Controller
the $CATALINA_HOME var should already be set but if not, then set with:
export $CATALINA_HOME=/usr/local/tomcatcd $CATALINA_HOME/bin./shutdown -
Delete deployment folder and
warfilecd $CATALINA_HOME/webappsrm -r uc uc.war -
Copy the new
warfilemv /tmp/uac-installation-files/uc.war . -
Restart the UAC Controller
cd $CATALINA_HOME/bin./startup.sh -
Restart the OMS
/etc/init.d/ubrokerd start