---
updatedAt: 2026-05-21T09:14:56.000Z
agentTools:
  siteIndex: https://docs.jfrog.com/llms.txt
  projectIndex: https://docs.jfrog.com/installation/llms.txt
---

# Distribution Single Node Linux Archive Installation

Install Distribution single-node using Linux archive with independently installed PostgreSQL and Redis prerequisites.

Install the following prerequisites independently of the Distribution archive installation, before starting your Distribution service.

* PostgreSQL
* Redis

For more information, see [Third Party Applications for Distribution](distribution-single-node-linux-archive-installation).

From Distribution 2.5.x, install PostgreSQL separately, as the PostgreSQL binaries are no longer bundled with the Linux archive installer for Distribution.

Before proceeding, see [System Requirements](artifactory-system-requirements-and-platform-support) for information on supported platforms, supported browsers, and other requirements.

<br />

<Accordion title="Distribution System Requirements" icon="fa-info-circle">
  The following table lists the minimum requirements and assumes you are running Distribution with an external database. Actual values might change based on the amount of data in your application.

  | Processor | Memory | Disk Space |
  | :-------- | :----- | :--------- |
  | 4 cores   | 8 GB   | 200 GB SSD |

  #### Operating Systems and Platform Support

  The following table lists the supported operating systems and their versions:

  | Product          | Debian     | RHEL     | Ubuntu              | Amazon Linux                                                                                                                                | Windows Server                                                                                                                              |
  | :--------------- | :--------- | :------- | :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------ |
  | **Distribution** | 11.x, 12.x | 8.x, 9.x | 20.04, 22.04, 24.04 | ![](https://files.readme.io/7ccc10487942ebbb83aa6f83e10c29194adc610efd4692fef967cb9dcceabb4f-uuid-743a6924-5713-3f27-4a63-b66e1c78bfa8.svg) | ![](https://files.readme.io/7ccc10487942ebbb83aa6f83e10c29194adc610efd4692fef967cb9dcceabb4f-uuid-743a6924-5713-3f27-4a63-b66e1c78bfa8.svg) |

  <Callout icon="📘" theme="info">
    **Note**

    Debian 12.x and Ubuntu 24.04 are supported from Artifactory 7.104 and Distribution 2.28.

    Windows 2022 is supported from Artifactory 7.125.
  </Callout>

  ## Supported Platforms

  The following table lists the supported platforms:

  | Product          | x86-64                                                                                                                                      | ARM64                                                                                                                                       | Kubernetes | OpenShift |
  | :--------------- | :------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------ | :--------- | :-------- |
  | **Distribution** | ![](https://files.readme.io/c71e6fa39c8e1d5e494b90df587cbf743b3dee9cc1b143eb314c34fb4b1ff066-uuid-ea92c1e1-5d79-3981-c8d5-5a5d13efa637.svg) | ![](https://files.readme.io/c71e6fa39c8e1d5e494b90df587cbf743b3dee9cc1b143eb314c34fb4b1ff066-uuid-ea92c1e1-5d79-3981-c8d5-5a5d13efa637.svg) | 1.27+      | 4.14+     |

  Installation on Kubernetes environments is through Helm Charts. Supported Helm version is Helm 3.17+.

  <Callout icon="✅" theme="okay">
    **Kubernetes Sizing Requirements**

    We have included YAML files with different sizing configurations for <Anchor label="Artifactory" target="_blank" href="https://github.com/jfrog/charts/tree/master/stable/artifactory/sizing">Artifactory</Anchor> , <Anchor label="Xray" target="_blank" href="https://github.com/jfrog/charts/tree/master/stable/xray/sizing">Xray</Anchor>, and <Anchor label="Distribution" target="_blank" href="https://github.com/jfrog/charts/tree/master/stable/distribution/sizing">Distribution</Anchor> in our GitHub pages. You can use these YAML files when you set up your cluster.
  </Callout>

  <Callout icon="📘" theme="info">
    **ARM64 Support for Container-Based Installations**

    Artifactory, Xray and Distribution supports installation on ARM64 architecture specifically through Helm and Docker installations. When deploying a product on an ARM64 platform, an external database must be set up as Artifactory does not support the bundled database for ARM64 installations. The appropriate ARM64 Container Image is automatically pulled during the Helm or Docker installation process.
  </Callout>

  #### Database and Third-Party Applications in Distribution

  Distribution supports the following versions of PostgreSQL:

  * 17.x
  * 16.x
  * 15.x

  A new installation is set up with PostgreSQL 17.10. When you upgrade an existing deployment whose database is on any version earlier than 17.10, the installer recommends upgrading PostgreSQL but does not block the upgrade — if you decline, it continues with your existing PostgreSQL version.

  Distribution HA requires an external database. Any changes to the configuration require the restart of a Distribution node for the changes to take effect across the entire Distribution cluster.

  <Callout icon="📘" theme="info">
    Distribution 2.37.0 and later:

    Redis has been removed from the Distribution installer and replaced by an internal in-memory system. The content below applies to Distribution versions prior to 2.37.0 only.
  </Callout>

  Distribution requires Redis and supports Redis 7.x. A supported Redis version is bundled with the Distribution installer.

  <Callout icon="⚠️" theme="warning">
    **Redis Password Restrictions**

    Redis password should contain only alphanumeric characters and should not contain any special characters.
  </Callout>

  #### Distribution Network Ports

  Distribution uses the 8082 port by default for external communication.

  Distribution uses the following internal ports by default for communication with JFrog Platform microservices.

  <Table>
    <thead>
      <tr>
        <th>
          Microservice
        </th>

        <th>
          Port
        </th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td>
          Distribution Server
        </td>

        <td>
          8080
        </td>
      </tr>

      <tr>
        <td>
          Router
        </td>

        <td>
          HTTP: 8082, 8046, 8049

          gRPC: 8047
        </td>
      </tr>

      <tr>
        <td>
          Redis
        </td>

        <td>
          6379
        </td>
      </tr>

      <tr>
        <td>
          PostgreSQL (if you use the bundled Postgres database)
        </td>

        <td>
          5432
        </td>
      </tr>

      <tr>
        <td>
          Observability
        </td>

        <td>
          HTTP: 8036

          gRPC: 8037
        </td>
      </tr>
    </tbody>
  </Table>
</Accordion>

<br />

Follow these steps to install the product:

1. Extract the contents of the compressed archive and move it into distribution directory.

   ```bash
   tar -xvf jfrog-distribution-<version>-linux.tar.gz
   mv jfrog-distribution-<version>-linux distribution
   ```

<Callout icon="📘" theme="info">
  **Note**

  PostgreSQL is required and must be installed before continuing with the next installation steps.

  Set your PostgreSQL connection details in the Shared Configurations section of the `$JFROG_HOME/distribution/var/etc/system.yaml` file.
</Callout>

2. Start PostgreSQL.

3. [Customize the product configuration](distribution-single-node-linux-archive-installation).

   1. Set the Artifactory connection details.
   2. Customize the PostgreSQL Database connection details. (optional)
   3. Set any additional configurations (for example: ports, node id) using the [Distribution `system.yam`l configuration file](distribution-system-yaml).

4. Start and manage the Distribution service as the user who extracted the tar.

   **As a process**

   ```bash
   distribution/app/bin/distribution.sh start
   ```

   Manage the process.

   ```bash
   distribution/app/bin/distribution.sh start|stop|status|restart
   ```

   **As a service**

   Distribution is packaged as an archive file and an install script that can be used to install it as a service running under a custom user. Currently supported on Linux systems.

<Callout icon="✅" theme="okay">
  **OS User Permissions**

  When running Distribution as a service, the installation script creates a user called `distribution` (by default) which must have run and execute permissions on the installation directory.

  We recommend extracting the Distribution download file into a directory that grants run and execute permissions to all users, such as `/opt`.
</Callout>

To install Distribution as a service, execute the following command as root:

<Callout icon="📘" theme="info">
  **Note**

  User and group can be passed through `distribution/var/etc/system.yaml` as `shared.user` and `shared.group`. This takes precedence over values passed through the command line on install.
</Callout>

```bash
distribution/app/bin/installService.sh 
--user <enter user, default value is distribution> 
--group <enter group, default value is distribution> -u | --user                                       : [optional] (default: distribution) user which will be used to run the product, it will be created if its unavailable-g | --group                                      : [optional] (default: distribution) group which will be used to run the product, it will be created if its unavailable
```

The user and group is stored in `distribution/var/etc/system.yaml` at the end of installation.

To manage the service, use `systemd` or `init.d` commands depending on your system.

**Using systemd**

```xml
 systemctl <start|stop|status> distribution.service
```

**Using init.d**

```xml
service distribution <start|stop|status>
```

5. Access Distribution from your browser at:`http://<jfrogUrl>/ui/`.

   Go to the**Dashboard** tab in the**Application**module in the UI.

6. Check the Distribution Log.

   ```bash
   tail -f distribution/var/log/console.log
   ```

<Callout icon="⚠️" theme="warning">
  **Configure log rotation of the console log**

  The `console.log` file can grow quickly since all services write to it. For more information, see  [configure the log rotation](/administration/docs/configuring-log-rotation-for-tomcat).
</Callout>

<br />

<Accordion title="Distribution Product Configuration" icon="fa-info-circle">
  After installing and before running Distribution, you may set the following configurations.

  ### Where to find the system configurations?

  You can configure all your system settings using the `system.yaml` file located in the `$JFROG_HOME/distribution/var/etc` folder. For more information, see <Anchor label="Distribution YAML Configuration" title="Distribution System YAML" href="distribution-system-yaml">Distribution YAML Configuration</Anchor>.

  If you don't have a System YAML file in your folder, copy the template available in the folder and name it `system.yaml`.

  For the Helm charts, the `system.yaml` file is managed in the chart’s `values.yaml.`

  #### Artifactory Connection Details for Distribution

  Distribution requires a working Artifactory server and a suitable license.

  The Distribution connection to Artifactory requires the following parameters.

  * **jfrogUrl** - URL to the machine where JFrog Artifactory is deployed, or the load balancer pointing to it. It is recommended to use DNS names rather than direct IPs. For example: `http://jfrog.acme.com` instead of `http://10.20.30.40:8082`.

    Set it in the Shared Configurations section of the `$JFROG_HOME/distribution/var/etc/system.yaml` file.
  * **join.key** - This is the secret key required by Artifactory for registering and authenticating the Distribution server.

    You can fetch the Artifactory `joinKey` (join Key) from the JPD UI in the **Administration module | User Management | Settings | Join Key**.

    Set the *join.key* used by your Artifactory server in the Shared Configurations section of the `$JFROG_HOME/distribution/var/etc/system.yaml` file.

  #### Add Signing Keys to JFrog Distribution

  The JFrog Platform supports signing keys to establish trust with your clients for downloading your packages from Artifactory. Signing keys consist of a public and a private key pair, which are used for signing and verifying release bundles. When installing a new Edge, you will need to propagate the public keys to the new Edge. To learn about how to add and propagate keys, see [GPG Signing](/artifactory/docs/gpg-signing).

  #### Change PostgreSQL Database Credentials

  Distribution comes bundled with a PostgreSQL Database out-of-the-box, which comes pre-configured with default credentials

  To change the default credentials:

  ```
  # Access PostgreSQL as the Distribution user adding the optional -W flag to invoke the password prompt
  $ psql -d distribution -U distribution -W
    
  # Securely change the password for user "distribution". Enter and then retype the password at the prompt.
  \password distribution
    
  # Verify the update was successful by logging in with the new credentials
  $ psql -d distribution -U distribution -W
  ```

  Set your PostgreSQL connection details in the  **Shared Configurations** section of the `$JFROG_HOME/distribution/var/etc/system.yaml` file.

  #### Change Redis Database Credentials

  <Callout icon="⚠️" theme="warning">
    **Redis Password Restrictions**

    Redis password should contain only alphanumeric characters and should not contain any special characters.
  </Callout>

  1. Set your Redis password in the Shared Configurations section of the `$JFROG_HOME/distribution/var/etc/system.yaml` file.
  2. For Helm installations, you can set the password in the `values.yaml` file.

     ```
     distribution:
      jfrogUrl: http://xx.xx.xxx.xx
      joinKey: 6a8d2eaa5eab7d6945c020245c98344b9b42b9665073a36c74645d52e565dce4
      persistence:
       enabled: true
     redis:
      password: <password>
     ```
  3. Restart all the services.

  
</Accordion>

## Third Party Applications for Distribution

### PostgreSQL for Distribution

You must install PostgreSQL before you proceed with the installation of Distribution.

### PostgreSQL for Linux Archive

PostgreSQL binaries are no longer bundled with the Linux archive installer. Install PostgreSQL manually.

Run the following commands to seed the tables and schema needed by Distribution.

```xml
<pgsql bin path>/psql template1
<postgres prompt>: CREATE DATABASE <user_name>;
<postgres prompt>: \q
   
## run the script to seed the tables and schemas needed by Distribution
POSTGRES_PATH=<pgsql bin path> distribution/app/third-party/postgresql/createPostgresUsers.sh
```

<Callout icon="📘" theme="info">
  Distribution 2.37.0 and later:

  Redis has been removed from the Distribution installer and replaced by an internal in-memory system. For more details, see the [Distribution 2.37.0 release notes](/releases/docs/distribution-release-notes#distribution-237).
</Callout>

### Redis for Distribution

<Callout icon="⚠️" theme="warning">
  **Redis Password Restrictions**

  Redis password should contain only alphanumeric characters and should not contain any special characters.
</Callout>

### Redis Linux Archive Installation

Redis binaries are available in `jfrog-distribution-<version>-linux/app/third-party/redis/bin`. You must setup the Redis server before you install Distribution.

<br />

## Related Topics

* [Installing Distribution](installing-distribution)
* [Distribution System Requirements and Platform Support](distribution-system-requirements-and-platform-support)
* [Distribution Single Node Interactive Script Installation](distribution-single-node-interactive-script-installation)
* [Distribution Single Node RPM Installation](distribution-single-node-rpm-installation)
* [Distribution Single Node Debian Installation](distribution-single-node-debian-installation)
* [Distribution system.yaml](distribution-system-yaml)
* [Upgrading Distribution](upgrading-distribution)

## Frequently Asked Questions

This section provides answers to frequently asked questions.

<Accordion title="FAQs" icon="plus">

##### Q: What prerequisites must be installed before starting the Linux archive installation?

**A:** You must install PostgreSQL and Redis independently before starting the Distribution service. From Distribution 2.5.x, PostgreSQL binaries are no longer bundled with the Linux archive installer and must be installed manually.

##### Q: Where do I configure the PostgreSQL connection details for the Linux archive installation?

**A:** Set your PostgreSQL connection details in the Shared Configurations section of the `$JFROG_HOME/distribution/var/etc/system.yaml` file.

##### Q: What permissions does the Distribution service user need, and where should I extract the archive?

**A:** The `distribution` user created by the installation script must have run and execute permissions on the installation directory. JFrog recommends extracting the Distribution download file into a directory that grants these permissions to all users, such as `/opt`.

##### Q: Can I specify a custom user and group for the Distribution service without passing them as command-line arguments?

**A:** Yes. The user and group can be configured in `distribution/var/etc/system.yaml` under `shared.user` and `shared.group`. These values take precedence over values passed through the command line on install.

##### Q: Are there restrictions on the Redis password in the Linux archive installation?

**A:** Yes. The Redis password should contain only alphanumeric characters and must not contain any special characters.

</Accordion>