Installing Posit Package Manager on Multiple Servers

EnhancedAdvanced

This page includes instructions for downloading Posit professional products. Download and/or use of these products is governed under the terms of the Posit End User License Agreement. By downloading, you agree to the terms posted there.

These instructions describe how to install Posit Package Manager on multiple Linux servers for high availability (HA) and load balancing. For a single-server deployment, see the Linux server installation instructions. For an overview of all installation methods, see the Install Posit Professional Products overview.

Prerequisites

Before you begin, review the requirements and select the Multiple servers (HA) deployment type.

Install Package Manager on each server

Important

Complete Steps 1 through 5 below on each Linux server in the cluster.

Step 1: Download and install

Download and install the server application:

Terminal
curl -1sLf \
  'https://dl.posit.co/public/pro/setup.deb.sh' \
  | sudo -E bash

sudo apt-get install rstudio-pm=2026.09.0
sudo apt-mark hold rstudio-pm
Terminal
curl -1sLf \
  'https://dl.posit.co/public/pro/setup.rpm.sh' \
  | sudo -E bash

sudo dnf install rstudio-pm-2026.09.0
sudo dnf install 'dnf-command(versionlock)'
sudo dnf versionlock add rstudio-pm
Terminal
curl -1sLf \
  'https://dl.posit.co/public/pro/setup.rpm.sh' \
  | sudo -E bash

sudo zypper refresh
sudo zypper install rstudio-pm=2026.09.0
sudo zypper addlock rstudio-pm

The package is held after installation to prevent unintended upgrades during routine system maintenance.

TipMore ways to install

The setup scripts above should find exactly what you need to install. If you would like to look through all of the binaries, you can find them at Posit Package Repository.

Note

These commands install the product into /opt/rstudio-pm. See the Manual Installation for Minimal Root Use section to install into a non-default location or to perform a non-root install.

Signed build

If you installed using the Posit Package Repository method recommended above, the GPG key is automatically imported when you run the setup script (setup.deb.sh or setup.rpm.sh). Package signatures are verified automatically during installation. No manual steps are required.

Step 2: Configure the server address

By default, Package Manager settings are controlled by a configuration file located at /etc/rstudio-pm/rstudio-pm.gcfg.

If Package Manager is served from a subdirectory like /packagemanager/, configure the Server.Address setting for some features to work, such as PyPI package serving and the Server API documentation. Server.Address is also required if you use OpenID Connect authentication.

Server.Address must be the public URL for this server in the format of http(s)://[HOST:PORT]. If Package Manager is deployed behind an HTTP proxy, provide the URL as seen by users through the proxy.

ImportantRunning behind a load balancer or reverse proxy

If Package Manager runs behind a load balancer or reverse proxy, forward the original request URL so that Package Manager returns fully qualified URLs to clients. See Running with a Proxy.

Otherwise, leave Server.Address unset.

/etc/rstudio-pm/rstudio-pm.gcfg
[Server]
Address = https://packagemanager.example.com/

; Or if served at a subdirectory like /packagemanager/
;Address = http://example.com:4242/packagemanager/

Configure other options now or later, such as:

TipExample configuration file

An example configuration file that includes all the available configuration settings along with their defaults is installed at /etc/rstudio-pm/rstudio-pm.gcfg.defaults.

Step 3: Activate license

Run the following command to determine the status of your license:

Terminal
/opt/rstudio-pm/bin/license-manager status

If you have a license file, then activate the license by transferring the license file to the server hosting Posit Package Manager, ensure ownership and read permissions for the PPM service user, and activate it with the commands:

Terminal
sudo chown rstudio-pm <license-file>.lic
sudo chmod 0600 <license-file>.lic
sudo cp -a <license-file>.lic /var/lib/rstudio-pm/
sudo systemctl restart rstudio-pm
NoteRunAs User

The default Package Manager RunAs user is rstudio-pm. If you’ve configured a different RunAs user, ensure that user has file ownership.

Posit recommends using license file activation rather than license key activation. License files work well in all environments including ephemeral, container-based, or air-gapped environments. For all activation options, see License activation methods and the Licensing page of this guide.

Step 4: Restart Package Manager

After you update the configuration file and activate the license, restart the Package Manager service:

Tip

Most configuration setting changes can also be updated by taking the Package Manager service offline and bringing it back online. For more information, see the Online and Offline Modes page.

To restart the Package Manager service, run the following commands:

Terminal
sudo systemctl stop rstudio-pm
sudo systemctl start rstudio-pm

Package Manager supports the HUP signal when:

  • Making licensing changes.
  • Activating a new license.

Step 5: Verify installation

There are two ways to verify a successful Package Manager installation:

  • View the Package Manager web UI.
  • Use the admin command-line interface.

View the Package Manager web UI

The Package Manager web UI provides an interface for viewing information about packages, package READMEs, metrics, and more. See the User Guide for additional information.

To view Package Manager in a web browser:

  1. Open a web browser.
  2. Navigate to Package Manager by following http(s)://packagemanager.example.com:<port> (the default port is 4242).

Once you navigate to the Package Manager URL, the Package Manager Welcome page displays. For any administrative changes, use the CLI.

The admin command-line interface

Use the Package Manager admin command-line interface (CLI) to:

  • Create repositories and sources.
  • Set up sync schedules for CRAN sources.

To invoke the Admin CLI, run: /opt/rstudio-pm/bin/rspm list

If you cannot access the Admin CLI, verify that your user is a member of the rstudio-pm group:

  1. Run the following to add USER to the rstudio-pm group (replace <USER> with your username):

    Terminal
    sudo usermod -aG rstudio-pm <USER>
  2. Close the terminal or SSH session.

  3. Start a new session and run the groups command. This enumerates the groups that the current user is a member of.

  4. Confirm that rstudio-pm is listed.

  5. Run the command:

    Terminal
    /opt/rstudio-pm/bin/rspm list
Note

To grant Admin CLI access to a different group, see the Changing RunAs User page.

Verify the deployment with VIP

For an automated end-to-end check, use Verified Installation of Posit (VIP), a non-destructive test suite that validates repository configuration, the CRAN, PyPI, Bioconductor, and Open VSX mirrors, and package access against a running deployment.

Install VIP on a machine that can reach the server. VIP requires uv:

Terminal
uv tool install posit-vip
vip install

Run the verification against your deployment, replacing <product-url> with the URL of your Package Manager server. Package Manager serves packages without a login, so no authentication flag is required:

Terminal
vip verify --package-manager-url <product-url>

After the run, vip verify reports pass or fail for each check in the terminal and writes the results to report/results.json. To render a shareable HTML report of the results, run vip report. This command requires the Quarto CLI:

Terminal
vip report

If any checks fail, the report identifies the failing area to correct before users connect. VIP is an open-source project; see the VIP documentation for the full list of checks and configuration options.

Configure high availability and load balancing

After you install Package Manager on each server, follow the High Availability and Load Balancing page to configure the shared storage, the external database, and the load balancer.

Next steps

After the cluster is running, configure sources, repositories, and security on the Initial Configuration page.

Back to top