Code With Me 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 your 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.

Set up the guest local storage

  1. Use the mirror-guests command-line tool. It is a file provided as part of the lobby distribution archive starting with build 1593. Obtain the required files from the downloads and exit after saving.

    It accepts the following filter as parameters:

    • products

    • versions

    • platforms

  2. Specify a path to a target storage.

    Check the following example:

    bin/mirror-guests --verbose --products-filter IU --platforms-filter linux-x64 --versions-filter 2021.1 /home/ubuntu/sources/

    For a full list of available options use the “help” option:

    mirror-guests --help
  3. 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 /home/CWM/storage (in lobby Dockerfile)

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

    <lobby_url>/clients

    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 JRE_DOWNLOAD_LOCATION=https://some-local-site.intranet/code-with-me-clients

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

ItemFormatDescription
GUESTS_LOCAL_STORAGE_DIRECTORYPathA 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_LOCATIONURLURL location for IntelliJ IDEA products to process. The default value is set to public IntelliJ IDEA 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:

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

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

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

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

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

Last modified: 25 August 2021