CodeWithMe Help

Offline (local storage) mode

Lobby Guests Local Storage is an on-premises lobby server feature that lets you download required Code With Me guest files from JetBrains to a dedicated local storage in your network and distribute them among users.

This mode lets you host the on-premise setup in the isolated network environment without connections between Code With Me user machines and JetBrains sites. This also allows you to avoid the use of external URLs when requesting guests from the lobby server.

Configure the local storage mode

  1. Use the jetbrains-clients-downloader command-line tool.

    Note: Since version 1698, the "mirror-guests" script has been renamed to jetbrains-clients-downloader and comes as a separate file from distributive page.

    It accepts product code, version, build number, platform, EAP builds as the filtering parameters. For detailed syntax, run the following command in the command line: jetbrains-clients-downloader -h.

    Filters come as parameters and describe what files will be downloaded. Use the following example:

    .bin/jetbrains-clients-downloader --products-filter IU --build-filter 211.7142.45 /tmp/CWMsources

    The tool downloads the required files from the JetBrains products list to /tmp/CWMsources and exits.

  2. When required files are saved locally, you need to place them somewhere on the server where the main lobby will work with them in the isolated environment.

    To point the lobby server to the Code With Me files storage, use the following environment variable:

    GUESTS_LOCAL_STORAGE_DIRECTORY=/path-to-clients-storage

    Check the following example:

    ENV GUESTS_LOCAL_STORAGE_DIRECTORY /tmp/CWMsources

    (in the lobby Dockerfile)

  3. After successful setup, the guests' distribution should be available at the following URL:

    <lobby_url>/clients

    Note: Alternatively, you may publish this folder on any other HTTP server and configure lobby to get files from there:

    CWM_GUEST_DOWNLOAD_LOCATION=https://some-local-site.intranet/code-with-me-clients

After the download, guests should be available at URL: <lobby_url>/clients.

Item

Format

Description

GUESTS_LOCAL_STORAGE_DIRECTORY

Path

A path to a local directory where guests should be downloaded. A new directory is created if there is no existing directory available. Ignore all existing files inside the existing directory. The environment variable is required when running in the guest local storage mode.

INTELLIJ_PRODUCTS_JSON_LOCATION

URL

URL location for JetBrains products to process. The default value is set to public products JSON URL if no other value is specified through the ENV variable.

Troubleshooting potential problems

Check the following solutions for potential problems you might encounter when setting up local storage:

Q: No files are downloaded to local storage after running the downloader script:

A1: Ensure that JetBrains sites (https://cache-redirector.jetbrains.com, https://data.services.jetbrains.com) are available from the machine where you execute the script and saving external files from the Internet is allowed.

A2: Check filters used for the product selection for misprints.

Q: Downloader script fails on the attempt to create the storage folder

A: Check the system permissions - it should be allowed to write to a specified location

Q: Users cannot download the appropriate client version from the internal storage during the connection attempt:

A: Check if the IDE version used by the host has the corresponding client file at the corporate storage

Last modified: 04 July 2024