---
updatedAt: 2026-09-28T14:50:57.000Z
agentTools:
  projectIndex: https://developer.searchblox.com/llms.txt
---

# Installing on Azure

To install SearchBlox on Azure, follow the steps below to set up the prerequisites and configure the system for optimal performance. This guide assumes you are using an Azure environment.

# Prerequisites

Recommended EC2 instance type is **NC Family** Like **NC4as T4 v3**.

1. **Install OpenJDK 25:**\
   SearchBlox requires Java to run. Install OpenJDK 25 using the following commands:

   ```shell
   sudo dnf install java-25-openjdk -y
   ```

   Verify the Installation:

   ```shell
   java -version
   ```

   Ensure the output shows **OpenJDK 25**.

2. **Install wget:**\
   wget is required to download files from the internet. Install it using:

   ```shell
   sudo apt-get update
   sudo apt-get install wget
   ```

3. **Install Dependencies for Dynamic Auto Collection Crawler:**\
   Install the following libraries:

   ```shell
   sudo apt-get install libxkbcommon0 libgbm1
   ```

4. **Set vm.max\_map\_count:**\
   Edit the `/etc/sysctl.conf `file to set the `vm.max_map_count` value:

   ```shell
   sudo vi /etc/sysctl.conf
   ```

   Add the following line:

   ```shell
   vm.max_map_count=262144
   ```

   Apply the changes:

   ```shell
   sudo sysctl -p
   ```

5. **Increase File Descriptor Limit:**\
   Edit the /etc/sysctl.conf file to increase the file descriptor limit

   ```shell
   sudo vi /etc/sysctl.conf
   ```

   Add the following line:

   ```shell
   fs.file-max=100000
   ```

   Apply the changes:

   ```shell
   sudo sysctl -p
   ```

   ![](https://files.readme.io/271e089-u_1.png "u 1.png")

   <br />

6. **Set ulimit Values:**\
   Edit the /etc/security/limits.conf file to set soft and hard limits:

   ```shell
   sudo vi /etc/security/limits.conf
   ```

   Add the following lines

   ```
   *          soft      nofile     100000
   *          hard      nofile     100000
   ```

7. **Enable pam\_limits**\
   Edit the /etc/pam.d/common-session file:

   ```shell
   sudo vi /etc/pam.d/common-session
   ```

   Add the following line

   ```shell
   session required pam_limits.so
   ```

   <br />

   ![](https://files.readme.io/15410fe-U2.png "U2.png")

   ![](https://files.readme.io/76058a2-U3.png "U3.png")

   <br />

8. **Reboot the Server:**\
   Reboot the server to apply all changes:

   ```shell
   sudo reboot
   ```

9. **Verify ulimit Settings:**\
   After rebooting, verify the ulimit settings:

   ```shell
   ulimit -a
   ulimit -Sn  # Check soft limit
   ulimit -Hn  # Check hard limit
   ```

# Installation

1. Log in as root sudo su, If you are not the root user.

2. Create a SearchBlox user
   ```
   sudo adduser searchblox
   ```

3. SearchBlox must be installed in the /opt directory. Navigate to it:\
   `cd /opt`

4. Download SearchBlox Debian package
   ```
   sudo wget https://d2fco3ozzrfhhd.cloudfront.net/v12.1.0/searchblox_12.1.0-0_all.deb
   ```

5. Install the Debian package
   ```
   sudo dpkg -i searchblox_12.1.0-0_all.deb
   ```

6. Set the required ownership and permissions for SearchBlox directories:
   ```
   sudo chown -R searchblox:searchblox /opt/searchblox
   sudo chmod -R 755 /opt/searchblox/bin
   sudo chmod -R 755 /opt/searchblox/opensearch/
   sudo chmod -R 755 /opt/searchblox/logs
   sudo chmod -R 755 /opt/searchblox/connectors
   sudo chmod -R 755 /opt/searchblox/webapps/ROOT/logs/
   ```

7. Install and run the `SearchAI PrivateLLM` and `ollama.service` from the following section:\
   [SearchAI PrivateLLM models](https://developer.searchblox.com/docs/installing-on-azure#steps-to-install-and-run-searchai-privatellm)

8. Installing the GPU Drivers:

   ```
   # ── prerequisites
   sudo apt-get update && sudo apt-get install -y build-essential git wget curl

   # ── NVIDIA driver & CUDA 12 (works with V100 / T4 / A100)
   curl -O https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
   sudo dpkg -i cuda-keyring_1.1-1_all.deb
   sudo apt-get update
   sudo apt-get -y install cuda-drivers-535  # or newer

   # ── reboot to load nvidia modules
   sudo reboot
   ```

   After Reboot:

   ```Text Shell
   nvidia-smi   or dkms status       # should list your GPU
   nvcc --version        # confirms CUDA install
   ```

9. To check the `ollama model`, by running the following command:
   ```
   ollama  list
   ```

10. To download the models use the following command:
    ```
    ollama pull qwen2.5
    ```

11. Start SearchBlox service by running the following command:
    ```
    systemctl start searchblox
    ```

> 👍 Note:
>
> SearchBlox service will start opensearch service internally unlike previous versions. If service start up gives any issues, enable searchblox.service using the command below:\
> `systemctl daemon-reload`

12. Stop SearchBlox and Opensearch services by running the following command:
    ```
    systemctl stop searchblox
    ```
13. To verify the status of the SearchBlox service use the following command:
    ```shell Text
    systemctl status searchblox
    ```

# Verify Installation

1. **Access the SearchBlox Admin Console:**\
   Wait for 30-60 seconds after starting the SearchBlox service.\
   Open a web browser using the end point:  `https://<localhost or IP>:8443/console`

   ![](https://files.readme.io/c0ddd5ff8953061b8d3a71822eef987134813533aee491b3e4142f8892e9af78-image.png)
2. **Log in to the Admin Console:**\
   Setup the Super Admin Password.

   ![](https://files.readme.io/1786644fe1512eff2c1264463b802ed163433ac4404a000c0b8501e0164237ce-image.png)

   Login using the updated username and password.

   ![](https://files.readme.io/0a94f838859e69a67188ee83d92d2671ec92d78318e1cafbba2b60e59b75f0e0-image.png)
3. **Verify the Service Status:**\
   If the Admin Console loads successfully, the SearchBlox service is running correctly.

### Check the Status Log File

1. **Navigate to the Logs Directory:**\
   The status log file is located at:
   ```
   /opt/searchblox/webapps/ROOT/logs/status.log
   ```
2. **View the Log File:**\
   Use the following command to view the log:
   ```shell
   cat /opt/searchblox/webapps/ROOT/logs/status.log
   ```
3. **Confirm Successful Startup:**\
   Look for the message:
   ```
   SearchBlox Started
   ```
4. **Troubleshoot Errors:**\
   If the service fails to start, the status.log file will contain error messages or warnings that can help identify the issue.\
   Common issues include:
   * Port conflicts (ensure port 8443 is free).
   * Incorrect file permissions (verify permissions for /opt/searchblox).\
     Verify that the /opt/searchblox directory and its subdirectories have the correct permissions:
     ```shell
     sudo chown -R searchblox:searchblox /opt/searchblox
     sudo chmod -R 755 /opt/searchblox
     ```
   * Missing dependencies (ensure Java and other prerequisites are installed).

### Additional Resources

* To learn more on Troubleshooting visit: [Logging and Troubleshooting](https://developer.searchblox.com/docs/logging)

* To learn about accessing SearchBlox visit: [Overview of SearchBlox](https://developer.searchblox.com/docs/overview)

* To learn about tuning after installation visit: [Installation Tuning](https://developer.searchblox.com/docs/installation-tuning)

> 🚧 SearchBlox Admin Console Access using IP Address or Domain Name
>
> 1. Using IP Address:\
>    Replace localhost with your server's IP address in the URL:
>    ```Text URL
>    https://<your-server-ip>:8443/console
>    ```
> 2. Using Domain Name:\
>    If a domain name is mapped to your server's IP address, use the domain name in the URL:
>    ```Text URL
>    https://exampledomain:8443/console
>    ```

### Important Notes

* **Port Number:** By default, SearchBlox uses port 8443. Ensure this port is open and accessible in your firewall or security group (if using a cloud instance like AWS EC2).
* **HTTPS:** SearchBlox uses HTTPS for secure communication. Ensure your browser trusts the SSL certificate (self-signed certificates may require manual approval).
* **Domain Configuration:** If using a domain name, ensure the DNS records are correctly configured to point to your server's IP address

# Steps to Install and Run SearchAI PrivateLLM

To install and run SearchAI PrivateLLM after completing the SearchBlox installation, follow the steps below. This process involves downloading the PrivateLLM Models, setting up the ollama.service, and starting the service.

1. **Download the Models Folder:**\
   Download the PrivateLLM Models from the provided link:\
   [ SearchAI PrivateLLM Models](https://d2fco3ozzrfhhd.cloudfront.net/ollama/models.zip)\
   Extract the downloaded models folder.
2. **Replace the Models Folder:**\
   Navigate to the `/opt/searchblox/ollama/models` directory and replace the existing models folder with the downloaded one.
   ```shell
   cd /opt/searchblox/ollama/models
   ```
3. **Create the ollama.service File:**
   1. Navigate to the `/etc/systemd/system/` directory:
   ```shell
   cd /etc/systemd/system/
   ```
   2. Create a new service file named ollama.service:
   ```shell
   sudo vi /etc/systemd/system/ollama.service
   ```

Add the following script to the ollama.service file:

```Text ollama.service
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
WorkingDirectory=/opt/searchblox/ollama/bin
ExecStart=/opt/searchblox/ollama/bin/ollama serve
User=root
Group=root
Restart=always
RestartSec=3
Environment="OLLAMA_MODELS=/opt/searchblox/ollama/models/"
[Install]
WantedBy=default.target
```

Then save and exit the file.

4. **Set Execute Permissions:**\
   Provide execute permissions for the ollama.service file:
   ```shell
   sudo chmod 755 /etc/systemd/system/ollama.service
   ```
   Also, set execute permissions for the ollama binary:
   ```shell
   sudo chmod 755 /opt/searchblox/ollama/bin/ollama
   ```
   <br />
5. **Reload Systemd Daemon:**\
   Reload the systemd daemon to apply the new service file:
   ```shell
   sudo systemctl daemon-reload
   ```
6. **Start the Ollama Service:**
   ```shell
   sudo systemctl start ollama
   ```
7. **Verify the Models:**\
   Check the list of available models by running:
   ```Text Shell
   ./opt/searchblox/ollama/bin/ollama list
   ```
8. **Download the Model:**\
   Download the model using the command below:
   ```Text Shell
   ./opt/searchblox/ollama/bin/ollama pull qwen2.5
   ```
9. **Stop the Ollama Service (Optional):**\
   To stop the ollama service, use:
   ```shell
   sudo systemctl stop ollama
   ```
10. **Enable Auto-Start on Reboot:**\
    To ensure the ollama service starts automatically on system reboot, enable it:
    ```shell
    sudo systemctl enable ollama
    ```

## Enabling Embedded Inference (Llama.cpp) in SearchBlox

Enable Llama.cpp as a model provider from **Administration > Models >Providers**, as shown below

![](https://files.readme.io/d30504fd52ef7f54da465c9a4f3da6f88e7a8fe4cbb248d29e07ca1e5e2b40f1-image.png)

### Minimum system requirements

To run the embedded Llama.cpp engine, the minimum recommended specification is:\
● 16 CPU cores\
● 32 GB RAM

# Change SearchBlox Server Port

**SearchBlox Server runs on port 8443 by default.**

You can change the port by following the steps as shown in the following:

1. Stop SearchBlox service

2. Edit the file /opt/searchblox/start.d/https.ini and add the below line to set the required port number:\
   `jetty.ssl.port=443`

3. Save the file https.ini

4. Start SearchBlox service

> 🚧 Port Update
>
> Fix the permission denied error while using searchblox service on less than ports 1024, run the below commands:\
> Check the Java Path
>
> # `readlink -f $(which java)`
>
> Set the capability to bind low ports for non-root searchblox user.
>
> # `setcap cap_net_bind_service+ep <javapath>`

# Uninstall

1. First Stop the SearchBlox, by running the command:\
   `systemctl stop searchblox`

2. Run the following command to uninstall or remove SearchBlox:\
   `apt-get remove searchblox`

3. To remove the user, run the command;\
   `userdel searchblox`

4. Reboot the server:\
   `reboot`

**Note:** For clean SearchBlox uninstallation, it is required to remove searchblox directory i.e., `/opt/searchblox` manually by running the following command:\
`rm -rf /opt/searchblox`