Installing IBM Optim Data Privacy by using online mode
To install IBM Optim Data Privacy, you must configure and deploy the required containers. Use the online installation mode if you are installing on an internet-connected environment.
Step 1: Obtain an IBM Container Registry entitlement key
To install IBM Optim Data Privacy using online mode, you must have an IBM Container Registry (ICR) entitlement key. The key is used to authenticate with ICR when extracting installation scripts and when pulling product container images.
- In a web browser, open the IBM Container Registry site.
- Click Add new key or copy an existing key, if available.
- Save the key to use in the steps that follow.
Step 2: Download and extract the installation archive
Ensure that your installation environment is connected and has access to the internet.
Ensure that you have all of the hardware and software prerequisites in place. For more information, see the Planning section. Review the Prerequisites topic and ensure that all prerequisites are met.
Download and extract the IBM Optim installation archive. For instructions, see Downloading IBM Optim Data Privacy.
Step 3: Prepare the host environment
- Log in as the non-root user that you plan to use to deploy IBM Optim, then run the following command
to determine the user ID:
Save the user ID for later.id -u - Log in as a root user.
- Install the required operating system packages:
dnf install -y curl podman podman-docker python3-pip slirp4netns fuse-overlayfs - Create the required Podman runtime directories. Replace
<USER-ID>with the user ID you saved earlier.mkdir -p /run/user/<USER-ID> && chmod 700 /run/user/<USER-ID> && chown -R <USER-ID>:<USER-ID> /run/user/<USER-ID> - Enable lingering for the non-root user. Replace
<USER-ID>with the user ID you saved earlier.loginctl enable-linger <USER-ID> - Log in as the non-root user, then install Podman Compose if it is not already
installed:
pip3 install podman-compose --user - Set the runtime base directory environment variable:
export XDG_RUNTIME_DIR=/run/user/$(id -u) - Enable the Podman container to auto-restart on boot:
systemctl --user enable --now podman-restart.service - If you are using a non-root mounted disk to store Podman container images, export the Podman
storage directories in the same shell session before continuing:
export XDG_CONFIG_HOME=/mount-point/podman/config export XDG_DATA_HOME=/mount-point/podman/dataImportant: These variables must be set in the same shell session in which you run the setup script. They are not inherited by child processes and will fall back to root defaults if not set here. Ensure that the Podman directories on the mount point are already created and owned by this user. For setup instructions, see Using mounted or extended storage volumes.
Step 4: Extract installation scripts from the MetaDB image
The installation scripts, Podman Compose files, and Keycloak realm configuration are embedded in
the optim-metadb container image. You must extract them into your working directory
before you can run the setup script.
- Log in to ICR using the entitlement key you obtained in Step 1:
podman login cp.icr.io -u cpEnter your entitlement key as the password when prompted.
- Create a temporary container from the MetaDB image and copy the scripts to your working
directory:
podman create --name temp-extract cp.icr.io/cp/ibm-optim/optim-metadb:2.0.0-amd64 podman cp temp-extract:/tmp/releasepatch/. ./ podman rm temp-extract
After this step, the following files are present in your working directory: scripts/setup-optim.sh, optim-compose.yaml, optim-compose-icr.yaml, sample.env, and the realm/ configuration folder.
Step 5: Configure the installation
The .env configuration file contains the parameters required for deployment. You must edit the environment variables in this file before running the setup script.
Default values are provided for most parameters. Modify them as necessary for your deployment environment.
- Create directories to store the following types of IBM Optim data:
- Metastore (PostgreSQL) database files
- Log files
- Extract files
- Job process job reports
- Catalog metadata data stored in Apache Iceberg
For example, to create a directory named/home/optim/data, run the following command:mkdir -p /home/optim/dataNote: For guidance about data storage, including separating different data volumes, see Storage considerations.Take note of these directory paths. You will be prompted to provide them later.
- Copy sample.env and name it
.env:
cp sample.env .env - Open the .env file for
editing:
vi .env - Locate the section labeled
Required user-set variables. - Set following directory path parameters to point to the storage directories that you created
earlier: Note: If the directories are already in use, ensure that they are owned by the designated installation user for IBM Optim Data Privacy.
OPTIM_METADB_DATA_DIR: Path to the directory where Metastore (PostgreSQL) database files are stored.OPTIM_LOG_DIR: Path to the directory where log files are stored.OPTIM_EXTRACT_DIR: Path to the directory where extract files are stored.OPTIM_REPORT_DIR: Path to the directory where job process report files are stored.OPTIM_CATALOG_DIR: Path to the Apache Iceberg catalog service's persistent metadata.
Note: For guidance about data storage, including separating different data volumes and using mounted or external SAN/NAS volumes, see Storage considerations. If you are using a non-root mounted volume, review Using mounted or extended storage volumes before continuing. - Optional: Review the
Default variablessection and modify other parameters as needed:OPTIM_UI_PORT(default value:7780)OPTIM_METADB_PORT(default value:5432)OPTIM_KEYCLOAK_PORT(default value:7780)
- Check your system to ensure that there are no port conflicts before saving the .env file.
- Optional: Review the Keycloak configuration for identity and access management.
The installation package includes minimal-optim-realm.json. To use it, rename the file to optim-realm.json in the realm/ folder before you run the setup script. For more information about defining IBM Optim Data Privacy users, see Step 8: Set up a minimal Keycloak realm.
Step 6: Run the setup script
The setup script prepares the environment by generating certificates, initializing secrets, pulling product images from ICR, and starting the containers.
- Open a terminal in the installation directory.
- Run the setup script with the
--onlineflag:./scripts/setup-optim.sh --online - When prompted, provide the following input:
- Select the product to install (Test Data Management, Data Privacy, or Archive).
- Specify the product license type (enterprise, solution, or workgroup).
- Accept the license agreement.
- Provide passwords for the following:
- Metastore (PostgreSQL) database
- Keycloak administrator console
- Certificate truststore
Important: Password requirements:- All passwords must be at least 6 characters in length.
- Passwords can only include ASCII characters.
- If you are rerunning the installation script and an existing IBM Optim Data Privacy instance is set up, you must provide the same passwords as the initial installation. Failure to do so will prevent access to the existing Metastore database.
- Provide your ICR entitlement key when prompted. The script uses it to pull the product images
from
cp.icr.io.
- Wait for the script to complete. The script automatically performs the following actions:
- Creates all required data directories
- Generates a self-signed certificate and truststore to secure communication between containers
- Initializes secrets for passwords and credential encryption
- Pulls product container images from ICR
- Starts the containers using Podman Compose (optim-compose-icr.yaml)
Important: Do not interrupt the script while it is running. Doing so can result in an incomplete setup.
podman-compose -f optim-compose-icr.yaml up -d- IBM Optim Metastore (PostgreSQL)
- IBM Optim Runtime Engine
- IBM Optim Core API
- IBM Optim web UI
- Keycloak (IAM)
- Apache Spark
- IBM Optim Catalog
Step 7: Verify the installation
After containers are running, verify the installation by accessing the IBM Optim UI.
- Determine the IBM Optim UI URL in
one of the following ways:
- Copy the URL from the console output of the installation script.
- Open the .env file and locate the
OPTIM_UI_URLvariable. - Run the following command to retrieve the URL value:
cat .env | grep OPTIM_UI_URL
- Copy the URL and paste it into a web browser.
- Log in using the default administrator credentials:
- user:
user1 - password:
123
Note: After verifying installation, delete the default user and set up your own administrators and users. For more information, see Managing users and roles. - user:
- Confirm that the IBM Optim welcome page is displayed.
If the UI does not load, verify that all containers are running and that the correct ports are open.
Step 8: Set up a minimal Keycloak realm
The installation package includes minimal-optim-realm.json, a Keycloak realm file that is not preconfigured with IBM Optim users. You can rename it and use it as a starting point to configure your own users.
- With the IBM Optim Data Privacy containers up
and running, open a web browser and navigate to the Keycloak administrator console at
https://<hostname>:8443. - Log in as the Keycloak administrator user.
- The default administrator username is
admin. You can verify this by running:cat .env | grep KC_ADMIN - Provide the administrator password that you defined during installation. If you used an
auto-generated password, retrieve it by running:
podman secret inspect optim-keycloak-secret --format '{{.SecretData}}'
- The default administrator username is
- Create a user for IBM Optim Data Privacy:
- From the Manage realms menu, choose Optim, then select .
- Type a username and provide any of the other optional information, then click Create.
- Click the Credentials tab, then click Set password.
- Select and choose either admin-group or user-group.
- Create an organization and add users:
- Select . Type the organization name, domain, and description, then click Save.
- Click Attribute and add an account-id attribute with a unique or random UUID value (such as data-ai-01/75a10144-c57a-4c0a-889c-22044d012a9a).
- Click Members and then choose Add realm user. Choose the user that you want to add to the organization.
The created user can now log in to IBM Optim Data Privacy.
For more information about managing users, see Managing users and roles.
What to do next
The IBM Optim Data Privacy software is ready to use.
To configure the deployment further, see Configuring IBM Optim Data Privacy.