|
|
|
|
|
|
|
|
|
|
|
|
| |
| <!-- jQuery Eclipse IP approval https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10801 --> |
| <script type="text/javascript" charset="utf8" src="../../../docs/assets/scripts/jquery-1.8.1.min.js"></script> |
| |
| <script type="text/javascript" charset="utf8"> |
| $(document).ready(function(){ |
| var images = document.getElementsByTagName('img'); |
| for (var i = 0; i < images.length; i++) { |
| var image = images[i]; |
| var parentElement = image.parentElement; |
| var a = document.createElement('a'); |
| if (! image.getAttribute('src').includes("logo-codenvy.svg") && ! image.getAttribute('src').includes("codenvy-contribute.svg") ){ |
| a.href = image.getAttribute('src'); |
| a.target = "_blank"; |
| a.appendChild(image); |
| parentElement.appendChild(a); |
| } |
| } |
| }); |
| </script> |
| <!DOCTYPE HTML> |
| <html lang="en-US"> |
| <head> |
| <title>Getting Started: Local - |
| |
| Docs |
| - Eclipse Che</title> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width,initial-scale=1"> |
| <meta name="generator" content="Jekyll v3.5.1"> |
| <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900"> |
| <link rel="stylesheet" href="../../../docs/assets/css/screen.css"> |
| <link rel="icon" type="image/x-icon" href="../../../docs/assets/imgs/favicon.ico"> |
| <!--[if lt IE 9]> |
| <script src="/js/html5shiv.min.js"></script> |
| <script src="/js/respond.min.js"></script> |
| <![endif]--> |
| </head> |
| |
| |
| <body class="wrap"> |
|
|
|
|
|
|
|
|
|
|
|
|
| |
| |
| <header> |
| <nav class="mobile-nav show-on-mobiles"> |
| <ul> |
| |
| <li class="current"> |
| <a href="../../../docs/index.html">Docs</a> |
| </li> |
| <li class=""> |
| <a href="../../../docs/tutorials/multi-machine/index.html">Tutorials</a> |
| </li> |
| <li class=""> |
| <a href="../../../docs/openshift/config/index.html">OpenShift</a> |
| </li> |
| <li> |
| <a href="https://github.com/eclipse/che-docs/tree/master/src/main">GitHub</a> |
| </li> |
| </ul> |
| |
| </nav> |
| <div class="grid"> |
| <div class="unit one-third center-on-mobiles"> |
| <a href="https://eclipse.org/che/"> |
| <span class="sr-only">Eclipse Che</span> |
| <img src="../../../docs/assets/imgs/logo-eclipseche.svg" alt="Eclipse Che Logo" width="249" height="115"> |
| </a> |
| </div> |
| <nav class="main-nav unit two-thirds hide-on-mobiles"> |
| <ul> |
| |
| <li class="current"> |
| <a href="../../../docs/index.html">Docs</a> |
| </li> |
| <li class=""> |
| <a href="../../../docs/tutorials/multi-machine/index.html">Tutorials</a> |
| </li> |
| <li class=""> |
| <a href="../../../docs/openshift/config/index.html">OpenShift</a> |
| </li> |
| <li> |
| <a href="https://github.com/eclipse/che-docs/tree/master/src/main">GitHub</a> |
| </li> |
| </ul> |
| |
| </nav> |
| </div> |
| </header> |
| |
| |
| <section class="docs"> |
| <div class="grid"> |
| |
| <div class="docs-nav-mobile unit whole show-on-mobiles"> |
| <select onchange="if (this.value) window.location.href=this.value"> |
| <option value="">Navigate the docs…</option> |
| |
| |
| <optgroup label="SETUP"> |
|
|
|
|
|
|
|
|
|
|
|
|
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/index.html">Introduction</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/setup/getting-started/index.html">Getting Started: Local</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/setup/getting-started-saas-cloud/index.html">Getting Started: SaaS Cloud</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/setup/configuration/index.html">Configuration</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/setup/managing/index.html">Managing</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/setup/cli/index.html">CLI Reference</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/setup/glossary/index.html">Glossary</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/setup/docker/index.html">Docker Installation</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/setup/openshift/index.html">OpenShift Installation</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/setup/selenium/index.html">How to run selenium tests</option> |
| |
| |
| </ul> |
| |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/index.html">Introduction</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="current"><a href="../../../docs/setup/getting-started/index.html">Getting Started: Local</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/setup/getting-started-saas-cloud/index.html">Getting Started: SaaS Cloud</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/setup/configuration/index.html">Configuration</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/setup/managing/index.html">Managing</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/setup/cli/index.html">CLI Reference</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/setup/glossary/index.html">Glossary</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/setup/docker/index.html">Docker Installation</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/setup/openshift/index.html">OpenShift Installation</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/setup/selenium/index.html">How to run selenium tests</a></li> |
| |
| |
| |
| </ul> |
| |
| |
| </optgroup> |
| |
| |
| |
| <optgroup label="WORKSPACE ADMINISTRATION"> |
|
|
|
|
|
|
|
|
|
|
|
|
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/devops/intro/index.html">Introduction</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/devops/runtime-stacks/index.html">Runtime Stacks</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/devops/runtime-recipes/index.html">Runtime Recipes</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/devops/project-samples/index.html">Project Samples</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/devops/runtime-machines/index.html">Runtime Machines</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/devops/volume-mounts/index.html">Volume Mounts</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/devops/ws-agents/index.html">Workspace Agents</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/devops/workspaces-data-model/index.html">Workspace Data Model</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/devops/runtime-stacks-data-model/index.html">Runtime Stacks Data Model</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/devops/project-samples-data-model/index.html">Project Samples Data Model</option> |
| |
| |
| </ul> |
| |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/devops/intro/index.html">Introduction</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/devops/runtime-stacks/index.html">Runtime Stacks</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/devops/runtime-recipes/index.html">Runtime Recipes</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/devops/project-samples/index.html">Project Samples</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/devops/runtime-machines/index.html">Runtime Machines</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/devops/volume-mounts/index.html">Volume Mounts</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/devops/ws-agents/index.html">Workspace Agents</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/devops/workspaces-data-model/index.html">Workspace Data Model</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/devops/runtime-stacks-data-model/index.html">Runtime Stacks Data Model</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/devops/project-samples-data-model/index.html">Project Samples Data Model</a></li> |
| |
| |
| |
| </ul> |
| |
| |
| </optgroup> |
| |
| |
| |
| <optgroup label="USER GUIDE"> |
|
|
|
|
|
|
|
|
|
|
|
|
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/ide/projects/index.html">Projects</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/ide/import-a-project/index.html">Import</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/ide/ssh/index.html">SSH</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/ide/sync/index.html">Local IDE Sync</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/ide/editor-settings/index.html">Editor</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/ide/intellisense/index.html">Intellisense</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/ide/commands/index.html">Commands</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/ide/git-svn/index.html">Git and SVN</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/ide/previews/index.html">Previews</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/ide/build/index.html">Build</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/ide/run/index.html">Run</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/ide/sharing/index.html">Share</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/ide/debug/index.html">Debug</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/ide/docker/index.html">Docker</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/ide/electron/index.html">Install Che Desktop Client</option> |
| |
| |
| </ul> |
| |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/projects/index.html">Projects</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/import-a-project/index.html">Import</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/ssh/index.html">SSH</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/sync/index.html">Local IDE Sync</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/editor-settings/index.html">Editor</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/intellisense/index.html">Intellisense</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/commands/index.html">Commands</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/git-svn/index.html">Git and SVN</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/previews/index.html">Previews</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/build/index.html">Build</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/run/index.html">Run</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/sharing/index.html">Share</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/debug/index.html">Debug</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/docker/index.html">Docker</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/electron/index.html">Install Che Desktop Client</a></li> |
| |
| |
| |
| </ul> |
| |
| |
| </optgroup> |
| |
| |
| |
| <optgroup label="PORTABLE WORKSPACES"> |
|
|
|
|
|
|
|
|
|
|
|
|
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/chedir/getting-started/index.html">Chedir - Getting Started</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/chedir/why/index.html">Chedir - Why Chedir?</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/chedir/installation/index.html">Chedir - Installation</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/chedir/project-setup/index.html">Chedir - Project Setup</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/chedir/up-and-down/index.html">Chedir - Up and Down</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/chedir/chefiles/index.html">Chedir - Chefile</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/chedir/ssh/index.html">Chedir - SSH</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/chedir/factories/index.html">Chedir - Factories</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="">Error Generating Page Link. Contact Maintainer./docs/factory-getting-started/</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="">Error Generating Page Link. Contact Maintainer./docs/factory-creating/</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="">Error Generating Page Link. Contact Maintainer./docs/factory-json-reference/</option> |
| |
| |
| </ul> |
| |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/chedir/getting-started/index.html">Chedir - Getting Started</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/chedir/why/index.html">Chedir - Why Chedir?</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/chedir/installation/index.html">Chedir - Installation</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/chedir/project-setup/index.html">Chedir - Project Setup</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/chedir/up-and-down/index.html">Chedir - Up and Down</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/chedir/chefiles/index.html">Chedir - Chefile</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/chedir/ssh/index.html">Chedir - SSH</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/chedir/factories/index.html">Chedir - Factories</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/factory/getting-started/index.html">Factory - Getting Started</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/factory/creating/index.html">Factory - Creating</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/factory/json-reference/index.html">Factory - JSON Reference</a></li> |
| |
| |
| |
| </ul> |
| |
| |
| </optgroup> |
| |
| |
| |
| <optgroup label="DEVELOPER GUIDE - REST API"> |
|
|
|
|
|
|
|
|
|
|
|
|
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/assemblies/intro/index.html">Introduction</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/assemblies/archetype/index.html">Archetype</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/assemblies/assembly-lifecycle/index.html">Assembly Dev Lifecycle</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/assemblies/plugin-lifecycle/index.html">Plugin Lifecycle</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/assemblies/sdk-rest-apis/index.html">SDK REST APIs</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/assemblies/sdk-class-reference/index.html">SDK Class Reference</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/assemblies/sdk-dependency-injection/index.html">SDK Dependency Injection</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/assemblies/sdk-dto/index.html">SDK DTOs</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/assemblies/sdk-properties/index.html">SDK Properties</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/assemblies/sdk-code-editors/index.html">SDK Editors</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/assemblies/sdk-embed-htmljs/index.html">SDK Embedded JavaScript</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/assemblies/sdk-project-types/index.html">SDK Project Types</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/assemblies/sdk-actions/index.html">SDK Actions</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/assemblies/sdk-services/index.html">SDK Services</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/assemblies/sdk-parts/index.html">SDK Parts</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/assemblies/sdk-themes/index.html">SDK Themes</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/assemblies/sdk-custom-agents/index.html">SDK Custom Agents</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/assemblies/sdk-language-server-protocol/index.html">SDK Language Server Protocol</option> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <option value="../../../docs/assemblies/sdk-workspace/index.html">SDK Workspace</option> |
| |
| |
| </ul> |
| |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/intro/index.html">Introduction</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/archetype/index.html">Archetype</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/assembly-lifecycle/index.html">Assembly Dev Lifecycle</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/plugin-lifecycle/index.html">Plugin Lifecycle</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-rest-apis/index.html">SDK REST APIs</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-class-reference/index.html">SDK Class Reference</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-dependency-injection/index.html">SDK Dependency Injection</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-dto/index.html">SDK DTOs</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-properties/index.html">SDK Properties</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-code-editors/index.html">SDK Editors</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-embed-htmljs/index.html">SDK Embedded JavaScript</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-project-types/index.html">SDK Project Types</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-actions/index.html">SDK Actions</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-services/index.html">SDK Services</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-parts/index.html">SDK Parts</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-themes/index.html">SDK Themes</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-custom-agents/index.html">SDK Custom Agents</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-language-server-protocol/index.html">SDK Language Server Protocol</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-workspace/index.html">SDK Workspace</a></li> |
| |
| |
| |
| </ul> |
| |
| |
| </optgroup> |
| |
| |
| |
| |
| |
| |
| </select> |
| </div> |
| |
| |
| <div class="unit four-fifths"> |
| <article> |
| <div class="improve right hide-on-mobiles"> |
| <a href="https://github.com/codenvy/che-docs/blob/master/src/main/_docs/setup/setup-getting-started.md"><i class="fa fa-pencil"></i> Improve this page</a> |
| <!--<a href="https://github.com/eclipse/che/blob/master/docs/_docs/setup/setup-getting-started.md"><i class="fa fa-pencil"></i> Improve this page</a>--> |
| </div> |
| <div class="doc-title"> |
| <h1>Getting Started: Local</h1> |
| <div class="doc-title-border"> |
| </div> |
| </div> |
| |
| <p>Eclipse Che is a developer workspace server and cloud IDE. You install, run, and manage Eclipse Che with Docker.</p> |
| |
| <h3 id="download">Download</h3> |
| <p>This is the administration guide for the on-premises installation of Eclipse Che. This document discusses the installation, configuration, and operation of Che that you host on your own hardware or IaaS provider.</p> |
| |
| <p>You can get a hosted version of Eclipse Che with Codenvy at <a href="https://codenvy.io">codenvy.io</a>.</p> |
| |
| <h1 id="how-to-get-help">How to Get Help</h1> |
| |
| <h3 id="support">Support</h3> |
| <p>If you are having a problem starting Che or workspaces, there are two diagnostic utilities that can help: <code class="highlighter-rouge">docker run eclipse/che info</code> on the command-line for diagnosing boot-time issues and a “diagnostic” page that you can launch from the lower corner of the dashboard that loads when Che first opens in your browser.</p> |
| |
| <p>Post questions or issues <a href="https://github.com/eclipse/che/issues">on GitHub</a>. Please follow the <a href="https://github.com/eclipse/che/blob/master/CONTRIBUTING.md">guidelines on issue reporting</a> and provide:</p> |
| |
| <ul> |
| <li>output of ‘docker run eclipse/che info’ command</li> |
| <li>if requested, a support package with ‘docker run eclipse/che info –bundle’</li> |
| </ul> |
| |
| <h3 id="documentation">Documentation</h3> |
| <p>We put a lot of effort into our docs. Please add suggestions on areas for improvement with a new <a href="https://github.com/codenvy/che-docs/pulls">pull request</a> or <a href="https://github.com/codenvy/che-docs/issues">issue</a>.</p> |
| |
| <h1 id="quick-start">Quick Start</h1> |
| <p>On any computer with Docker 1.11+ installed (Docker 1.12.5+ is recommended):</p> |
| |
| <div class="language-shell highlighter-rouge"><pre class="highlight"><code><span class="c"># Interactive help</span> |
| docker run -it eclipse/che start |
| |
| <span class="c"># Or, full start syntax where <path> is a local directory</span> |
| docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock -v <path>:/data eclipse/che start |
| </code></pre> |
| </div> |
| |
| <h1 id="operate-che">Operate Che</h1> |
| |
| <div class="language-shell highlighter-rouge"><pre class="highlight"><code><span class="c"># Start Eclipse Che with user data saved on Windows in c:\tmp</span> |
| docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock -v /c/tmp:/data eclipse/che start |
| INFO: <span class="o">(</span>che cli<span class="o">)</span>: Loading cli... |
| INFO: <span class="o">(</span>che cli<span class="o">)</span>: Checking registry <span class="k">for </span>version <span class="s1">'nightly'</span> images |
| INFO: <span class="o">(</span>che config<span class="o">)</span>: Generating che configuration... |
| INFO: <span class="o">(</span>che config<span class="o">)</span>: Customizing docker-compose <span class="k">for </span>running <span class="k">in </span>a container |
| INFO: <span class="o">(</span>che start<span class="o">)</span>: Preflight checks |
| port 8080 <span class="o">(</span>http<span class="o">)</span>: <span class="o">[</span>AVAILABLE] |
| |
| INFO: <span class="o">(</span>che start<span class="o">)</span>: Starting containers... |
| INFO: <span class="o">(</span>che start<span class="o">)</span>: Services booting... |
| INFO: <span class="o">(</span>che start<span class="o">)</span>: Server logs at <span class="s2">"docker logs -f che"</span> |
| INFO: <span class="o">(</span>che start<span class="o">)</span>: Booted and reachable |
| INFO: <span class="o">(</span>che start<span class="o">)</span>: Ver: nightly |
| INFO: <span class="o">(</span>che start<span class="o">)</span>: Use: http://<your-ip>:8080 |
| INFO: <span class="o">(</span>che start<span class="o">)</span>: API: http://<your-ip>:8080/swagger |
| |
| <span class="c"># Stop Che</span> |
| docker run <DOCKER_OPTIONS> eclipse/che stop |
| |
| <span class="c"># Restart Che</span> |
| docker run <DOCKER_OPTIONS> eclipse/che restart |
| |
| <span class="c"># Run a specific version of Che</span> |
| docker run <DOCKER_OPTIONS> eclipse/che:<version> start |
| |
| <span class="c"># Get help</span> |
| docker run eclipse/che |
| |
| <span class="c"># If boot2docker on Windows, mount a subdir of `%userprofile%` to `:/data`. For example:</span> |
| docker run <DOCKER_OPTIONS> -v /c/Users/tyler/che:/data eclipse/che start |
| |
| <span class="c"># If Che will be accessed from other machines add your server's external IP</span> |
| docker run <DOCKER_OPTIONS> -e <span class="nv">CHE_HOST</span><span class="o">=</span><your-ip> eclipse/che start |
| </code></pre> |
| </div> |
| |
| <h1 id="develop-with-che">Develop with Che</h1> |
| <p>Now that Che is running there are a lot of fun things to try:</p> |
| |
| <ul> |
| <li>Become familiar with Che through <a href="../../..">one of our tutorials</a>.</li> |
| <li><a href="../../../docs/ide/import-a-project/index.html">Import a project</a> and setup <a href="../../../docs/ide/git-svn/index.html">git authentication</a>.</li> |
| <li>Use <a href="../../../docs/ide/projects/index.html">commands</a> to build and run a project.</li> |
| <li>Create a <a href="../../../docs/ide/previews/index.html">preview URL</a> to share your app.</li> |
| <li>Setup a <a href="../../../docs/ide/debug/index.html">debugger</a>.</li> |
| <li>Create reproducible workspaces with <a href="../../../docs/chedir/getting-started/index.html">chedir</a>.</li> |
| <li>Create a <a href="../../../docs/devops/runtime-stacks/index.html">custom runtime stack</a>.</li> |
| </ul> |
| |
| <h1 id="pre-reqs">Pre-Reqs</h1> |
| |
| <h3 id="hardware">Hardware</h3> |
| |
| <ul> |
| <li>1 cores</li> |
| <li>256MB RAM</li> |
| <li>300MB disk space</li> |
| </ul> |
| |
| <p>Che requires 300 MB storage and 256MB RAM for internal services. The RAM, CPU and storage resources required for your users’ workspaces are additive. Che Docker images consume ~300MB of disk and the Docker images for your workspace templates can each range from 5MB up to 1.5GB. Che and its dependent core containers will consume about 500MB of RAM, and your running workspaces will each require at least 250MB RAM, depending upon user requirements and complexity of the workspace code and intellisense.</p> |
| |
| <p>Boot2Docker, docker-machine, Docker for Windows, and Docker for Mac are all Docker variations that launch VMs with Docker running in the VM with access to Docker from your host. We recommend increasing your default VM size to at least 4GB. Each of these technologies have different ways to allow host folder mounting into the VM. Please enable this for your OS so that Che data is persisted on your host disk.</p> |
| |
| <h3 id="software">Software</h3> |
| |
| <ul> |
| <li>Docker 1.12.5+ recommended, Docker 1.11+ minimum</li> |
| </ul> |
| |
| <p>The Che CLI - a Docker image - manages the other Docker images and supporting utilities that Che uses during its configuration or operations phases. The CLI also provides utilities for downloading an offline bundle to run Che while disconnected from the network.</p> |
| |
| <p>Given the nature of the development and release cycle it is important that you have the latest version of Docker installed because any issue that you encounter might have already been fixed with a newer Docker release.</p> |
| |
| <p>Install the most recent version of the Docker Engine for your platform using the <a href="http://docs.docker.com/engine/installation/">official Docker releases</a>, including support for Mac and Windows! If you are on Linux, you can also install using:</p> |
| |
| <div class="language-bash highlighter-rouge"><pre class="highlight"><code>wget -qO- https://get.docker.com/ | sh |
| </code></pre> |
| </div> |
| |
| <p>Verify that Docker is installed with:</p> |
| |
| <div class="language-shell highlighter-rouge"><pre class="highlight"><code><span class="c"># Should print "Hello from Docker!"</span> |
| docker run hello-world |
| </code></pre> |
| </div> |
| |
| <p>Sometimes Fedora and RHEL/CentOS users will encounter issues with SElinux. Try disabling selinux with <code class="highlighter-rouge">setenforce 0</code> and check if resolves the issue. If using the latest docker version and/or disabling selinux does not fix the issue then please file a issue request on the <a href="https://github.com/eclipse/che/issues">issues</a> page.</p> |
| |
| <h4 id="known-issues">Known Issues</h4> |
| <p>You can search Che’s GitHub issues for items labeled <code class="highlighter-rouge">kind/bug</code> to see known issues.</p> |
| |
| <p>There are two known issues where features work on Docker 1.13+, but do not on Docker 1.12:</p> |
| <ol> |
| <li>SELinux: https://github.com/eclipse/che/issues/4747</li> |
| <li><code class="highlighter-rouge">CHE_DOCKER_ALWAYS__PULL__IMAGE</code>: https://github.com/eclipse/che/issues/5503</li> |
| </ol> |
| |
| <h4 id="internalexternal-ports">Internal/External Ports</h4> |
| <p>The default port required to run Che is <code class="highlighter-rouge">8080</code>. Che performs a preflight check when it boots to verify that the port is available. You can pass <code class="highlighter-rouge">-e CHE_PORT=<port></code> in Docker portion of the start command to change the port that Che starts on.</p> |
| |
| <p>Internal ports are ports within a local network. This is the most common senerio for most users when Che is installed on their local desktop/laptop. External ports are ports outside a local network. An example senerio of this would be a remote Che server on a cloud host provider. With either case ports need to be open and not blocked by firewalls or other applications already using the same ports.</p> |
| |
| <p>All ports are TCP unless otherwise noted.</p> |
| |
| <table> |
| <thead> |
| <tr> |
| <th>Port »»»»»»»»</th> |
| <th>Service »»»»»»»»</th> |
| <th>Notes</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>8080</td> |
| <td>Tomcat Port</td> |
| <td> </td> |
| </tr> |
| <tr> |
| <td>8000</td> |
| <td>Server Debug Port</td> |
| <td>Users developing Che extensions and custom assemblies would use this debug port to connect a remote debugger to che server.</td> |
| </tr> |
| <tr> |
| <td>32768-65535</td> |
| <td>Docker and Che Agents</td> |
| <td>Users who launch servers in their workspace bind to ephemeral ports in this range. This range can be limited.</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <h4 id="internet-connection">Internet Connection</h4> |
| <p>You can install Che while connected to a network or offline, disconnected from the Internet. If you perform an offline intallation, you need to first download a Che assembly while in a DMZ with a network connection to DockerHub.</p> |
| |
| <h4 id="networking">Networking</h4> |
| <p>Che is a platform that launches workspaces using Docker on different networks. Your browser or desktop IDE then connects to these workspaces. This makes Che a Platform as a Service (PaaS) running on a distributed network. There are essential connections we establish:</p> |
| |
| <ol> |
| <li>Browser –> Che Server</li> |
| <li>Che Server –> Docker Daemon</li> |
| <li>Che Server –> Workspace</li> |
| <li>Workspace –> Che Server</li> |
| <li>Browser –> Workspace</li> |
| </ol> |
| |
| <p>Che goes through a progression algorithm to establish the protocol, IP address and port to establish a connection for each connection point. If you have launched Che and workspaces do not immediately start, the most common causes are:</p> |
| |
| <ol> |
| <li>Failed Che -> Workspace (set CHE_DOCKER_IP in <code class="highlighter-rouge">che.env</code>)</li> |
| <li>Failed Browser -> Workspace (set CHE_DOCKER_IP_EXTERNAL in <code class="highlighter-rouge">che.env</code>)</li> |
| <li>Firewall (required ports are not open)</li> |
| </ol> |
| |
| <p>When you first install Che, we will add a <code class="highlighter-rouge">che.env</code> file into the folder you mounted to <code class="highlighter-rouge">:/data</code>, and you can configure many variables to establish proper communications. After changing this file, restart Che for the changes to take affect.</p> |
| |
| <div class="highlighter-rouge"><pre class="highlight"><code>Browser --> Che Server |
| 1. Default is 'http://localhost:${SERVER_PORT}/wsmaster/api'. |
| 2. Else use the value of CHE_API |
| |
| Che Server --> Docker Daemon Progression: |
| 1. Use the value of CHE_DOCKER_DAEMON__URL |
| 2. Else, use the value of DOCKER_HOST system variable |
| 3. Else, use Unix socket over unix:///var/run/docker.sock |
| |
| Che Server --> Workspace Connection: |
| - If CHE_DOCKER_SERVER__EVALUATION__STRATEGY is 'default': |
| 1. Use the value of CHE_DOCKER_IP |
| 2. Else, if server connects over Unix socket, then use localhost |
| 3. Else, use DOCKER_HOST |
| - If CHE_DOCKER_SERVER__EVALUATION__STRATEGY is 'docker-local': |
| 1. Use the address of the workspace container within the docker network |
| and exposed ports |
| 2. If address is missing, if server connects over Unix socket, then use |
| localhost and exposed ports |
| 3. Else, use DOCKER_HOST and published ports |
| |
| Browser --> Workspace Connection: |
| - If CHE_DOCKER_SERVER__EVALUATION__STRATEGY is 'default': |
| 1. If set use the value of CHE_DOCKER_IP_EXTERNAL |
| 2. Else if set use the value of CHE_DOCKER_IP |
| 3. Else, if server connects over Unix socket, then use localhost |
| 4. Else, use DOCKER_HOST |
| - If CHE_DOCKER_SERVER__EVALUATION__STRATEGY is 'docker-local': |
| 1. If set use the value of CHE_DOCKER_IP_EXTERNAL |
| 2. Else use the address of the workspace container within the docker network, |
| if it is set |
| 3. If address is missing, if server connects over Unix socket, then use |
| localhost |
| 4. Else, use DOCKER_HOST |
| |
| Workspace Agent --> Che Server |
| 1. Default is 'http://che-host:${SERVER_PORT}/wsmaster/api', where 'che-host' |
| is IP of server. |
| 2. Else, use value of CHE_WORKSPACE_CHE__SERVER__ENDPOINT |
| 3. Else, if 'docker0' interface is unreachable, then 'che-host' replaced with |
| 172.17.42.1 or 192.168.99.1 |
| 4. Else, print connection exception |
| </code></pre> |
| </div> |
| |
| <p>If you suspect that blocked ports, firewall, Che’s network configuration, or websockets are preventing Che from working properly, we provide a browser diagnostic in the lower right corner that runs tests between the browser and the Che server and a generated workspace.</p> |
| |
| <h1 id="versions">Versions</h1> |
| <p>Each version of Che is available as a Docker image tagged with a label that matches the version, such as <code class="highlighter-rouge">eclipse/che:5.0.0-M7</code>. You can see all versions available by running <code class="highlighter-rouge">docker run eclipse/che version</code> or by <a href="https://hub.docker.com/r/eclipse/che/tags/">browsing DockerHub</a>.</p> |
| |
| <p>We maintain “redirection” labels which reference special versions of Che:</p> |
| |
| <table> |
| <thead> |
| <tr> |
| <th>Variable</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code class="highlighter-rouge">latest</code></td> |
| <td>The most recent stable release.</td> |
| </tr> |
| <tr> |
| <td><code class="highlighter-rouge">5.0.0-latest</code></td> |
| <td>The most recent stable release on the 5.x branch.</td> |
| </tr> |
| <tr> |
| <td><code class="highlighter-rouge">nightly</code></td> |
| <td>The nightly build.</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <p>The software referenced by these labels can change over time. Since Docker will cache images locally, the <code class="highlighter-rouge">eclipse/che:<version></code> image that you are running locally may not be current with the one cached on DockerHub. Additionally, the <code class="highlighter-rouge">eclipse/che:<version></code> image that you are running references a manifest of Docker images that Che depends upon, which can also change if you are using these special redirection tags.</p> |
| |
| <p>In the case of ‘latest’ images, when you initialize an installation using the CLI, we encode a <code class="highlighter-rouge">/instance/che.ver</code> file with the numbered version that latest references. If you begin using a CLI version that mismatches what was installed, you will be presented with an error.</p> |
| |
| <p>To avoid issues that can appear from using ‘nightly’ or ‘latest’ redirections, you may:</p> |
| |
| <ol> |
| <li>Verify that you have the most recent version with <code class="highlighter-rouge">docker pull eclipse/che:<version></code>.</li> |
| <li>When running the CLI, commands that use other Docker images have an optional <code class="highlighter-rouge">--pull</code> and <code class="highlighter-rouge">--force</code> command line option <a href="https://hub.docker.com/r/eclipse/che/">which will instruct the CLI to check DockerHub</a> for a newer version and pull it down. Using these flags will slow down performance, but ensures that your local cache is current.</li> |
| </ol> |
| |
| <p>If you are running Che using a tagged version that is a not a redirection label, such as <code class="highlighter-rouge">5.0.0-M7</code>, then these caching issues will not happen, as the software installed is tagged and specific to that particular version, never changing over time.</p> |
| |
| <h1 id="volume-mounts">Volume Mounts</h1> |
| <p>We use volume mounts to configure certain parts of Che. The presence or absence of certain volume mounts will trigger certain behaviors in the system. For example, you can volume mount a Che source git repository with <code class="highlighter-rouge">:/repo</code> to use Che source code instead of the binaries and configuration that is shipped with our Docker images.</p> |
| |
| <p>At a minimum, you must volume mount a local path to <code class="highlighter-rouge">:/data</code>, which will be the location that Che installs its configuration, user data, version and log information. Che also leaves behind a <code class="highlighter-rouge">cli.log</code> file in this location to debug any odd behaviors while running the system. In this folder we also create a <code class="highlighter-rouge">che.env</code> file which contains all of the admin configuration that you can set or override in a single location.</p> |
| |
| <p>You can also use volume mounts to override the location of where your user or backup data is stored. By default, these folders will be created as sub-folders of the location that you mount to <code class="highlighter-rouge">:/data</code>. However, if you do not want your <code class="highlighter-rouge">/instance</code>, and <code class="highlighter-rouge">/backup</code> folder to be children, you can set them individually with separate overrides.</p> |
| |
| <div class="highlighter-rouge"><pre class="highlight"><code>docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock |
| -v <local-path>:/data |
| -v <a-different-path>:/data/instance |
| -v <another-path>:/data/backup |
| eclipse/che:<version> [COMMAND] |
| </code></pre> |
| </div> |
| |
| <h1 id="hosting">Hosting</h1> |
| <p>If you are hosting Che at a cloud service like DigitalOcean, AWS or Scaleways <code class="highlighter-rouge">CHE_HOST</code> must be set to the server’s IP address or its DNS.</p> |
| |
| <p>We will attempt to auto-set <code class="highlighter-rouge">CHE_HOST</code> by running an internal utility <code class="highlighter-rouge">docker run --net=host eclipse/che-ip:nightly</code>. This approach is not fool-proof. This utility is usually accurate on desktops, but usually fails on hosted servers. You can explicitly set this value to the IP address of your server:</p> |
| |
| <div class="highlighter-rouge"><pre class="highlight"><code>docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock |
| -v <local-path>:/data |
| -e CHE_HOST=<your-ip-or-host> |
| eclipse/che:<version> [COMMAND] |
| </code></pre> |
| </div> |
| <h1 id="run-as-user">Run As User</h1> |
| <p>On Linux or Mac, you can run Eclipse Che’s container with a different user identity. The default is to run the Che container as root. You can pass <code class="highlighter-rouge">--user uid:gid</code> or <code class="highlighter-rouge">-e CHE_USER=uid:gid</code> as a <code class="highlighter-rouge">docker run</code> parameter before the <code class="highlighter-rouge">eclipse/che</code> Docker image. The CLI will start the <code class="highlighter-rouge">eclipse/che-server</code> image with the same <code class="highlighter-rouge">uid:gid</code> combination along with mounting <code class="highlighter-rouge">/etc/group</code> and <code class="highlighter-rouge">etc/passwd</code>. When Che is run as a custom user, all files written from within the Che server to the host (such as <code class="highlighter-rouge">che.env</code> or <code class="highlighter-rouge">cli.log</code> will be written to disk with the custom user as the owner of the files. This feature is not available on Windows.</p> |
| |
| <h1 id="multiple-containers">Multiple Containers</h1> |
| <p>If you want to run multiple Che instances at the same time on the same host, each execution of Che needs to have a different:</p> |
| <ol> |
| <li>Port</li> |
| <li>Che container name</li> |
| <li>Data folder</li> |
| </ol> |
| |
| <p>We determine the Che container name with the format <code class="highlighter-rouge"><prefix>-<port></code>. The default prefix is <code class="highlighter-rouge">che</code> and can be changed on the CLI with <code class="highlighter-rouge">-e CHE_CONTAINER_PREFIX=<name></code>. If you use the default port, then this value is not added to the container name. However, if you change the port with <code class="highlighter-rouge">-e CHE_PORT=<port></code> then we will use that value as part of the container name.</p> |
| |
| <p>When the CLI executes, it creates a configuration that ultimately launches a container from <code class="highlighter-rouge">eclipse/che-server</code> image which is the image that contains the Che container. This container receives the unique name created above.</p> |
| |
| <p>You can also optionally just set the name of the container with a UUID by setting <code class="highlighter-rouge">-e CHE_CONTAINER=<name></code>.</p> |
| |
| <h1 id="proxy-installation">Proxy Installation</h1> |
| <p>You can install and operate Che behind a proxy:</p> |
| |
| <ol> |
| <li>Configure each physical node’s Docker daemon with proxy access.</li> |
| <li>Optionally, override workspace proxy settings for users if you want to restrict their Internet access.</li> |
| </ol> |
| |
| <p>Before starting Che, configure <a href="https://docs.docker.com/engine/admin/systemd/#/http-proxy">Docker’s daemon for proxy access</a>. If you have Docker for Windows or Docker for Mac installed on your desktop and installing Che, these utilities have a GUI in their settings which let you set the proxy settings directly.</p> |
| |
| <p>Please be mindful that your <code class="highlighter-rouge">HTTP_PROXY</code> and/or <code class="highlighter-rouge">HTTPS_PROXY</code> that you set in the Docker daemon must have a protocol and port number. Proxy configuration is quite finnicky, so please be mindful of providing a fully qualified proxy location.</p> |
| |
| <p>If you configure <code class="highlighter-rouge">HTTP_PROXY</code> or <code class="highlighter-rouge">HTTPS_PROXY</code> in your Docker daemon, we will add <code class="highlighter-rouge">localhost,127.0.0.1,CHE_HOST</code> to your <code class="highlighter-rouge">NO_PROXY</code> value where <code class="highlighter-rouge">CHE_HOST</code> is the DNS or IP address. We recommend that you add the short and long form DNS entry to your Docker’s <code class="highlighter-rouge">NO_PROXY</code> setting if it is not already set.</p> |
| |
| <p>We will add some values to <code class="highlighter-rouge">che.env</code> that contain some proxy overrides. You can optionally modify these with overrides:</p> |
| |
| <div class="highlighter-rouge"><pre class="highlight"><code>CHE_HTTP_PROXY=<YOUR_PROXY_FROM_DOCKER> |
| CHE_HTTPS_PROXY=<YOUR_PROXY_FROM_DOCKER> |
| CHE_NO_PROXY=localhost,127.0.0.1,<YOUR_CHE_HOST> |
| CHE_HTTP_PROXY_FOR_WORKSPACES=<YOUR_PROXY_FROM_DOCKER> |
| CHE_HTTPS_PROXY_FOR_WORKSPACES=<YOUR_PROXY_FROM_DOCKER> |
| CHE_NO_PROXY_FOR_WORKSPACES=localhost,127.0.0.1,<YOUR_CHE_HOST> |
| </code></pre> |
| </div> |
| |
| <p>The last three entries are injected into workspaces created by your users. This gives your users access to the Internet from within their workspaces. You can comment out these entries to disable access. However, if that access is turned off, then the default templates with source code will fail to be created in workspaces as those projects are cloned from GitHub.com. Your workspaces are still functional, we just prevent the template cloning.</p> |
| |
| <h1 id="offline-installation">Offline Installation</h1> |
| <p>We support offline (disconnected from the Internet) installation and operation. This is helpful for restricted environments, regulated datacenters, or offshore installations. The offline installation downloads the CLI, core system images, and any stack images while you are within a network DMZ with DockerHub access. You can then move those files to a secure environment and start Che.</p> |
| |
| <h3 id="1-save-che-images">1. Save Che Images</h3> |
| <p>While connected to the Internet, download Che’s Docker images:</p> |
| |
| <div class="language-shell highlighter-rouge"><pre class="highlight"><code>docker run <docker-goodness> eclipse/che:<version> offline |
| </code></pre> |
| </div> |
| |
| <p>The CLI will download images and save them to <code class="highlighter-rouge">/backup/*.tar</code> with each image saved as its own file. You can save these files to a differnet location by volume mounting a local folder to <code class="highlighter-rouge">:/data/backup</code>. The version tag of the CLI Docker image will be used to determine which versions of dependent images to download. There is about 1GB of data that will be saved.</p> |
| |
| <p>The default execution will download none of the optional stack images, which are needed to launch workspaces of a particular type. There are a few dozen stacks for different programming languages and some of them are over 1GB in size. It is unlikely that your users will need all of the stacks, so you do not need to download all of them. You can get a list of available stack images by running <code class="highlighter-rouge">eclipse/che offline --list</code>. You can download a specific stack by running <code class="highlighter-rouge">eclipse/che offline --image:<image-name></code> and the <code class="highlighter-rouge">--image</code> flag can be repeatedly used on a single command line.</p> |
| |
| <h3 id="2-start-che-in-offline-mode">2. Start Che In Offline Mode</h3> |
| <p>Place the TAR files into a folder in the offline computer. If the files are in placed in a folder named <code class="highlighter-rouge">/tmp/offline</code>, you can run Che in offline mode with:</p> |
| |
| <div class="language-shell highlighter-rouge"><pre class="highlight"><code><span class="c"># Load the CLI</span> |
| docker load < /tmp/offline/eclipse_che:<version>.tar |
| |
| <span class="c"># Start Che in offline mode</span> |
| docker run <other-properties> -v /tmp/offline:/data/backup eclipse/che:<version> start --offline |
| </code></pre> |
| </div> |
| |
| <p>The <code class="highlighter-rouge">--offline</code> parameter instructs the Che CLI to load all of the TAR files located in the folder mounted to <code class="highlighter-rouge">/data/backup</code>. These images will then be used instead of routing out to the Internet to check for DockerHub. The preboot sequence takes place before any CLI functions make use of Docker. The <code class="highlighter-rouge">eclipse/che start</code>, <code class="highlighter-rouge">eclipse/che download</code>, and <code class="highlighter-rouge">eclipse/che init</code> commands support <code class="highlighter-rouge">--offline</code> mode which triggers this preboot sequence.</p> |
| |
| <h1 id="uninstall">Uninstall</h1> |
| |
| <div class="language-shell highlighter-rouge"><pre class="highlight"><code><span class="c"># Remove your Che configuration and destroy user projects and database</span> |
| docker run eclipse/che:<version> destroy <span class="o">[</span>--quiet|--cli] |
| |
| <span class="c"># Deletes Che's images from your Docker registry</span> |
| docker run eclipse/che:<version> rmi |
| |
| <span class="c"># Delete the Che CLI</span> |
| docker rmi -f eclipse/che |
| </code></pre> |
| </div> |
| |
| <h1 id="licensing">Licensing</h1> |
| <p>Che is licensed with the Eclipse Public License.</p> |
| |
| <h1 id="configuration">Configuration</h1> |
| <p>Change Che’s port, hostname, oAuth, Docker, git, and networking by setting <a href="../../../docs/setup/configuration/index.html">Eclipse Che properties</a>.</p> |
| |
| </article> |
| </div> |
| |
| <div class="unit one-fifth hide-on-mobiles"> |
| <aside> |
| |
| |
| <h4>SETUP</h4> |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/index.html">Introduction</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="current"><a href="../../../docs/setup/getting-started/index.html">Getting Started: Local</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/setup/getting-started-saas-cloud/index.html">Getting Started: SaaS Cloud</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/setup/configuration/index.html">Configuration</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/setup/managing/index.html">Managing</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/setup/cli/index.html">CLI Reference</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/setup/glossary/index.html">Glossary</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/setup/docker/index.html">Docker Installation</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/setup/openshift/index.html">OpenShift Installation</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/setup/selenium/index.html">How to run selenium tests</a></li> |
| |
| |
| |
| </ul> |
| |
| |
| |
| |
| |
| <h4>WORKSPACE ADMINISTRATION</h4> |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/devops/intro/index.html">Introduction</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/devops/runtime-stacks/index.html">Runtime Stacks</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/devops/runtime-recipes/index.html">Runtime Recipes</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/devops/project-samples/index.html">Project Samples</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/devops/runtime-machines/index.html">Runtime Machines</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/devops/volume-mounts/index.html">Volume Mounts</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/devops/ws-agents/index.html">Workspace Agents</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/devops/workspaces-data-model/index.html">Workspace Data Model</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/devops/runtime-stacks-data-model/index.html">Runtime Stacks Data Model</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/devops/project-samples-data-model/index.html">Project Samples Data Model</a></li> |
| |
| |
| |
| </ul> |
| |
| |
| |
| |
| |
| <h4>USER GUIDE</h4> |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/projects/index.html">Projects</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/import-a-project/index.html">Import</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/ssh/index.html">SSH</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/sync/index.html">Local IDE Sync</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/editor-settings/index.html">Editor</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/intellisense/index.html">Intellisense</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/commands/index.html">Commands</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/git-svn/index.html">Git and SVN</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/previews/index.html">Previews</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/build/index.html">Build</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/run/index.html">Run</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/sharing/index.html">Share</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/debug/index.html">Debug</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/docker/index.html">Docker</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/ide/electron/index.html">Install Che Desktop Client</a></li> |
| |
| |
| |
| </ul> |
| |
| |
| |
| |
| |
| <h4>PORTABLE WORKSPACES</h4> |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/chedir/getting-started/index.html">Chedir - Getting Started</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/chedir/why/index.html">Chedir - Why Chedir?</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/chedir/installation/index.html">Chedir - Installation</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/chedir/project-setup/index.html">Chedir - Project Setup</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/chedir/up-and-down/index.html">Chedir - Up and Down</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/chedir/chefiles/index.html">Chedir - Chefile</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/chedir/ssh/index.html">Chedir - SSH</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/chedir/factories/index.html">Chedir - Factories</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/factory/getting-started/index.html">Factory - Getting Started</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/factory/creating/index.html">Factory - Creating</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/factory/json-reference/index.html">Factory - JSON Reference</a></li> |
| |
| |
| |
| </ul> |
| |
| |
| |
| |
| |
| <h4>DEVELOPER GUIDE - REST API</h4> |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/intro/index.html">Introduction</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/archetype/index.html">Archetype</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/assembly-lifecycle/index.html">Assembly Dev Lifecycle</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/plugin-lifecycle/index.html">Plugin Lifecycle</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-rest-apis/index.html">SDK REST APIs</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-class-reference/index.html">SDK Class Reference</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-dependency-injection/index.html">SDK Dependency Injection</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-dto/index.html">SDK DTOs</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-properties/index.html">SDK Properties</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-code-editors/index.html">SDK Editors</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-embed-htmljs/index.html">SDK Embedded JavaScript</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-project-types/index.html">SDK Project Types</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-actions/index.html">SDK Actions</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-services/index.html">SDK Services</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-parts/index.html">SDK Parts</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-themes/index.html">SDK Themes</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-custom-agents/index.html">SDK Custom Agents</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-language-server-protocol/index.html">SDK Language Server Protocol</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="../../../docs/assemblies/sdk-workspace/index.html">SDK Workspace</a></li> |
| |
| |
| |
| </ul> |
| |
| |
| |
| |
| |
| </aside> |
| </div> |
| |
| |
| <div class="clear"></div> |
| |
| </div> |
| </section> |
| |
| |
| |
| <script> |
| var anchorForId = function (id) { |
| var anchor = document.createElement("a"); |
| anchor.className = "header-link"; |
| anchor.href = "#" + id; |
| anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>"; |
| anchor.title = "Permalink"; |
| return anchor; |
| }; |
| |
| var linkifyAnchors = function (level, containingElement) { |
| var headers = containingElement.getElementsByTagName("h" + level); |
| for (var h = 0; h < headers.length; h++) { |
| var header = headers[h]; |
| |
| if (typeof header.id !== "undefined" && header.id !== "") { |
| header.appendChild(anchorForId(header.id)); |
| } |
| } |
| }; |
| |
| document.onreadystatechange = function () { |
| if (this.readyState === "complete") { |
| var contentBlock = document.getElementsByClassName("artik")[0] || document.getElementsByClassName("openshift")[0] || document.getElementsByClassName("tutorials")[0] || document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0]; |
| if (!contentBlock) { |
| return; |
| } |
| for (var level = 1; level <= 6; level++) { |
| linkifyAnchors(level, contentBlock); |
| } |
| } |
| }; |
| </script> |
| |
| |
| |
| |
| |
| |
| </body> |
| </html> |