CINXE.COM
On-premises server quick setup | CodeWithMe Documentation
<!DOCTYPE html SYSTEM "about:legacy-compat"> <html lang="en-US" data-preset="contrast" data-primary-color="#307FFF"><head><link rel="canonical" href="https://www.jetbrains.com/help/cwm/code-with-me-quick-setup.html" data-react-helmet="true"/><meta charset="UTF-8"><meta name="built-on" content="2024-11-09T02:03:21.143285435"><meta name="build-number" content="106"><title>On-premises server quick setup | CodeWithMe Documentation</title><script type="application/json" id="virtual-toc-data">[{"id":"cwm_setup","level":0,"title":"Code With Me quick setup","anchor":"#cwm_setup"},{"id":"offline_mode","level":0,"title":"The offline mode setup example for quick setup","anchor":"#offline_mode"}]</script><script type="application/json" id="topic-shortcuts"></script><link href="https://resources.jetbrains.com/storage/help-app/v6/app.css" rel="stylesheet"><link rel="manifest" href="https://www.jetbrains.com/site.webmanifest"><meta name="msapplication-TileColor" content="#000000"><link rel="apple-touch-icon" sizes="180x180" href="https://jetbrains.com/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="https://jetbrains.com/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="https://jetbrains.com/favicon-16x16.png"><meta name="msapplication-TileImage" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-144x144.png"><meta name="msapplication-square70x70logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-70x70.png"><meta name="msapplication-square150x150logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-150x150.png"><meta name="msapplication-wide310x150logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-310x150.png"><meta name="msapplication-square310x310logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-310x310.png"><meta name="image" content=""><!-- Open Graph --><meta property="og:title" content="On-premises server quick setup | CodeWithMe"><meta property="og:description" content=""><meta property="og:image" content=""><meta property="og:site_name" content="CodeWithMe Help"><meta property="og:type" content="website"><meta property="og:locale" content="en_US"><meta property="og:url" content="http://www.jetbrains.com/help/cwm/code-with-me-quick-setup.html"><!-- End Open Graph --><!-- Twitter Card --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content=""><meta name="twitter:title" content="On-premises server quick setup | CodeWithMe"><meta name="twitter:description" content=""><meta name="twitter:creator" content=""><meta name="twitter:image:src" content=""><!-- End Twitter Card --><!-- Schema.org WebPage --><script type="application/ld+json">{ "@context": "http://schema.org", "@type": "WebPage", "@id": "http://www.jetbrains.com/help/cwm/code-with-me-quick-setup.html#webpage", "url": "http://www.jetbrains.com/help/cwm/code-with-me-quick-setup.html", "name": "On-premises server quick setup | CodeWithMe", "description": "", "image": "", "inLanguage":"en-US" }</script><!-- End Schema.org --><!-- Schema.org WebSite --><script type="application/ld+json">{ "@type": "WebSite", "@id": "http://www.jetbrains.com/help/cwm/#website", "url": "http://www.jetbrains.com/help/cwm/", "name": "CodeWithMe Help" }</script><!-- End Schema.org --><script> (function (w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = '//www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-5P98'); </script> <script src="https://resources.jetbrains.com/storage/help-app/v6/analytics.js"></script> </head><body data-id="Code_With_Me_quick_setup" data-main-title="On-premises server quick setup" data-article-props="{"seeAlsoStyle":"links"}" data-template="article" data-breadcrumbs="On_premises_server_setup.topic|Code With Me setup overview and terminology"><div class="wrapper"><main class="panel _main"><header class="panel__header"><div class="container"><h3>CodeWithMe Help</h3><div class="panel-trigger"></div></div></header><section class="panel__content"><div class="container"><article class="article" data-shortcut-switcher="inactive"><h1 data-toc="Code_With_Me_quick_setup" id="Code_With_Me_quick_setup.topic">On-premises server quick setup</h1><p id="i4ln53i_1">Follow this link for the <a href="https://www.jetbrains.com/code-with-me/on-prem/#downloads" id="i4ln53i_2" data-external="true" rel="noopener noreferrer">quick setup launcher</a></p><section class="chapter"><h2 id="cwm_setup" data-toc="cwm_setup">Code With Me quick setup</h2><p id="i4ln53i_3">The quick <span class="control" id="i4ln53i_4">Code With Me</span> setup is intended for quick evaluation purposes. This setup has the following security-related limitations:</p><ul class="list _bullet" id="i4ln53i_5"><li class="list__item" id="i4ln53i_6"><p>The setup doesn't have SSL for lobby or relay servers connections.</p></li><li class="list__item" id="i4ln53i_7"><p>The relay server cannot verify whether the requests to establish a relay are authentic and coming from the real lobby server.</p></li><li class="list__item" id="i4ln53i_8"><p>The relay server or the host cannot verify whether session join request is signed by the lobby server.</p></li></ul><p id="i4ln53i_9">Check out the following video on how to quickly configure the on-premises setup:</p><div class="video-player" id="i4ln53i_10"><object class="article__bordered-element" width="560" height="315" data-theme="light" type="application/x-shockwave-flash" data="https://www.youtube.com/v/uewvw4KlRKE?color2=FBE9EC&rel=0&hd=1&autoplay=0&version=3&modestbranding=1&fs=1"></object></div><aside class="prompt" data-type="note" data-title="" id="i4ln53i_11"><p id="i4ln53i_12">For the full secured on-premises setup, refer to <a href="code-with-me-administration-guide.html" id="i4ln53i_13" data-tooltip="Administration guide Share your project with other participants securely by configuring on-premises servers Use orchestration containers Make additional configurations">Code With Me administration guide</a>.</p></aside><section class="procedure-steps"><h3 id="set_up_launcher" data-toc="set_up_launcher">Set up launcher</h3><ul class="list"><li class="list__item" id="i4ln53i_14"><p id="i4ln53i_15">Follow this <a href="https://www.jetbrains.com/code-with-me/on-prem/#downloads" id="i4ln53i_16" data-external="true" rel="noopener noreferrer">link for the setup launcher</a>.</p><p id="i4ln53i_17">Quick setup uses a single-click executable for the <span class="control" id="i4ln53i_18">Code With Me</span> servers.</p><aside class="prompt" data-type="note" data-title="" id="i4ln53i_19"><p id="i4ln53i_20">The servers can be launched only on the <code class="code" id="i4ln53i_21">linux-x64</code> platform.</p></aside></li></ul></section><section class="chapter"><h3 id="launch" data-toc="launch">Launch</h3><p id="i4ln53i_22">You can use the following options in the code to launch the servers for the <span class="control" id="i4ln53i_23">Code With Me</span> sessions:</p><ul class="list _bullet" id="i4ln53i_24"><li class="list__item" id="i4ln53i_25"><p>The host address is specified by the <code class="code" id="i4ln53i_26">-h</code> option.</p></li><li class="list__item" id="i4ln53i_27"><p>Path to the license file is specified by the <code class="code" id="i4ln53i_28">-k</code> option. To obtain the license file, go to <a href="https://www.jetbrains.com/code-with-me/on-prem/" id="i4ln53i_29" data-external="true" rel="noopener noreferrer">our site</a></p></li><li class="list__item" id="i4ln53i_30"><p id="i4ln53i_31">The lobby and relay server ports can be specified using the <code class="code" id="i4ln53i_32">-l</code> and <code class="code" id="i4ln53i_33">-r</code> options respectively.</p><p id="i4ln53i_34">The servers default to <code class="code" id="i4ln53i_35">2093</code> for a lobby server and <code class="code" id="i4ln53i_36">3274</code> for a relay server.</p></li></ul><div class="tabs" id="i4ln53i_37" data-anchors="[i4ln53i_38,i4ln53i_49]"><div class="tabs__content" data-gtm="tab" id="i4ln53i_38" data-title="Example 1"><section class="procedure-steps" id="i4ln53i_39"><ul class="list"><li class="list__item" id="i4ln53i_40"><p id="i4ln53i_41">Enter the following command:</p><p id="i4ln53i_42"><code class="code" id="i4ln53i_43">$./launch.sh -h 10.2.2.53 -k license.key</code></p><p id="i4ln53i_44">This command launches a lobby server, accessible via the address <span class="filepath" id="i4ln53i_45"> http://10.2.2.53:2093</span>.</p><p id="i4ln53i_46">This command also launches a relay server on the port <code class="code" id="i4ln53i_47">3274</code>, and the lobby server will share a link of <span class="filepath" id="i4ln53i_48">ws://10.2.2.53:3274</span> as the relay address.</p></li></ul></section></div><div class="tabs__content" data-gtm="tab" id="i4ln53i_49" data-title="Example 2"><section class="procedure-steps" id="i4ln53i_50"><ul class="list"><li class="list__item" id="i4ln53i_51"><p id="i4ln53i_52">Enter the following command:</p><p id="i4ln53i_53"><code class="code" id="i4ln53i_54">$./launch.sh -h myserver.internal -k license.key -l 4950 -r 8092</code></p><p id="i4ln53i_55">This command launches a lobby server, accessible via the address <span class="filepath" id="i4ln53i_56"> http://myserver.internal:4950</span>.</p><p id="i4ln53i_57">This command also launches a relay server on the port <code class="code" id="i4ln53i_58">8092</code>, and the lobby will share a link of <span class="filepath" id="i4ln53i_59">ws://myserver.internal:8092</span> as the relay address.</p></li></ul></section></div></div></section></section><section class="chapter"><h2 id="offline_mode" data-toc="offline_mode">The offline mode setup example for quick setup</h2><p id="i4ln53i_60">You can set up Code With Me without connecting to the JetBrains site. By default, the quick setup script doesn't contain such settings.</p><p id="i4ln53i_61">You can use the following scenario:</p><section class="procedure-steps"><h3 id="set_up_offline" data-toc="set_up_offline">Quick setup test in offline mode</h3><ol class="list _decimal"><li class="list__item" id="i4ln53i_62"><p id="i4ln53i_63">Download required files from the JetBrains sites on the machine with an Internet connection,</p></li><li class="list__item" id="i4ln53i_64"><p id="i4ln53i_65">Place them to local storage available for end-users workstations,</p></li><li class="list__item" id="i4ln53i_66"><p id="i4ln53i_67">Point the lobby server to use this place as the <a href="guest-local-storage-setup.html" id="i4ln53i_68" data-tooltip="This type of setup works for the IDEs of 2021.1+ versions.">local storage</a>.</p></li></ol></section><p id="i4ln53i_69">For more information, refer to the following description:</p><section class="procedure-steps"><h3 id="quick-setup-offline" data-toc="quick-setup-offline">Adjust quick setup launcher</h3><ol class="list _decimal"><li class="list__item" id="i4ln53i_70"><p id="i4ln53i_71">Somewhere on the machine with Internet access, run a separate "mirror_guests" script (<code class="code" id="i4ln53i_72">lobby/bin/mirror-guests</code>) with required filters.</p><aside class="prompt" data-type="note" data-title="" id="i4ln53i_73"><p id="i4ln53i_74">Since version 1698, the "mirror-guests" script has been renamed to <code class="code" id="i4ln53i_75">jetbrains-clients-downloader</code> and comes as a separate distribution from <a href="https://www.jetbrains.com/code-with-me/on-prem/" id="i4ln53i_76" data-external="true" rel="noopener noreferrer">page</a>.</p></aside><p id="i4ln53i_77">Filters come as parameters and describe what files will be downloaded.</p><p id="i4ln53i_78">Use the following example:</p><p id="i4ln53i_79"><code class="code" id="i4ln53i_80">.bin/jetbrains-clients-downloader --verbose --products-filter IU --platforms-filter windows-x64 --build-filter 211.7142.45 /tmp/CWMsources</code></p><p id="i4ln53i_81"><code class="code" id="i4ln53i_82">211.7142.45</code> and <code class="code" id="i4ln53i_83">/tmp/CWMsources</code> are examples, adjust those parts of code accordingly. For detailed syntax, run the following command in the command line: <code class="code" id="i4ln53i_84">jetbrains-clients-downloader -h</code>.</p></li><li class="list__item" id="i4ln53i_85"><p id="i4ln53i_86">Place saved files to the machine where you don't have the Internet connection and where the quick-setup will be tested. The folder with files will be considered as <code class="code" id="i4ln53i_87">GUESTS_LOCAL_STORAGE_DIRECTORY</code>.</p></li><li class="list__item" id="i4ln53i_88"><p id="i4ln53i_89">Add following entries to the <code class="code" id="i4ln53i_90">launch.sh</code> script:</p><div class="code-block" data-lang="none"> export GUESTS_LOCAL_STORAGE=true export GUESTS_LOCAL_STORAGE_DIRECTORY= </div><p id="i4ln53i_92">The value of <code class="code" id="i4ln53i_93">GUESTS_LOCAL_STORAGE_DIRECTORY=</code> is equal to the place from previous step.</p></li></ol></section><p id="client_JRE_keys_locations">For JRE, PGP keys, and JetBrains Client the following download locations are used:</p><div class="tabs" id="i4ln53i_94" data-anchors="[i4ln53i_102,i4ln53i_111,i4ln53i_95]"><div class="tabs__content" data-gtm="tab" id="i4ln53i_95" data-title="JetBrains Client"><p id="i4ln53i_96"><code class="code" id="i4ln53i_97">CWM_GUEST_DOWNLOAD_LOCATION =</code> is a URL where JetBrains Client files reside.</p><p id="i4ln53i_98">The URL example: <code class="code" id="i4ln53i_99">https://some.internal.site/clients</code>.</p><p id="i4ln53i_100">Files such as <code class="code" id="i4ln53i_101">JetBrainsClient-2023.2.dmg</code> are available in this location.</p></div><div class="tabs__content" data-gtm="tab" id="i4ln53i_102" data-title="JRE"><p id="i4ln53i_103"><code class="code" id="i4ln53i_104">JRE_DOWNLOAD_LOCATION =</code> is a URL where Java-related files reside.</p><p id="i4ln53i_105">The URL example: <code class="code" id="i4ln53i_106">https://some.internal.site/jbr</code>.</p><p id="i4ln53i_107">Files such as <code class="code" id="i4ln53i_108">jbr_jcef-11_0_10-windows-x64-b1341.41.tar.gz.sha256</code> are available in this location.</p><aside class="prompt" data-type="note" data-title="" id="i4ln53i_109"><p id="i4ln53i_110">Starting with the IDE version 2022.3 and later, JetBrains Runtime (JBR) is included in JetBrains Client.</p></aside></div><div class="tabs__content" data-gtm="tab" id="i4ln53i_111" data-title="PGP Keys"><p id="i4ln53i_112"><code class="code" id="i4ln53i_113">PGP_KEYS_DOWNLOAD_LOCATION =</code> is a URL from where <code class="code" id="i4ln53i_114">PGP KEYS</code> file can be downloaded.</p><p id="i4ln53i_115">The default location: <code class="code" id="i4ln53i_116">https://download-cdn.jetbrains.com/KEYS</code>.</p></div></div></section><div class="last-modified">Last modified: 26 October 2023</div><div data-feedback-placeholder="true"></div><div class="navigation-links _bottom"><a href="code-with-me-administration-guide.html" class="navigation-links__prev">Code With Me administration guide</a><a href="docker-compose-setup.html" class="navigation-links__next">Docker-compose setup</a></div></article><div id="disqus_thread"></div></div></section></main></div><script src="https://resources.jetbrains.com/storage/help-app/v6/app.js"></script></body></html>