| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <meta name="description" content=""> |
| <meta name="keywords" content=", "> |
| <title>Running Che locally | Eclipse Che Documentation</title> |
| <link rel="stylesheet" href="/che/docs/css/syntax.css"> |
| <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" crossorigin="anonymous"> |
| <!--<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">--> |
| <link rel="stylesheet" href="/che/docs/css/modern-business.css"> |
| <!-- Latest compiled and minified CSS --> |
| <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> |
| <link rel="stylesheet" href="/che/docs/css/customstyles.css"> |
| <link rel="stylesheet" href="/che/docs/css/boxshadowproperties.css"> |
| <!-- most color styles are extracted out to here --> |
| <link rel="stylesheet" href="/che/docs/css/theme-che.css"> |
| |
| |
| <link rel="stylesheet" href="/che/docs/css/coderay.css" media="screen" type="text/css"> |
| <link rel="stylesheet" href="/che/docs/css/asciidoc.css" type="text/css"> |
| |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js" crossorigin="anonymous"></script> |
| |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js" crossorigin="anonymous"></script> |
| <script src="/che/docs/js/jquery.navgoco.min.js"></script> |
| |
| |
| <!-- Latest compiled and minified JavaScript --> |
| <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> |
| <!-- Anchor.js --> |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/2.0.0/anchor.min.js" crossorigin="anonymous"></script> |
| <script src="/che/docs/js/toc.js"></script> |
| <script src="/che/docs/js/customscripts.js"></script> |
| |
| <link rel="shortcut icon" href="/che/docs/images/favicon.ico"> |
| |
| <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> |
| <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> |
| <!--[if lt IE 9]> |
| <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> |
| <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> |
| <![endif]--> |
| |
| <link rel="alternate" type="application/rss+xml" title="che" href="/feed.xml"> |
| |
| <script> |
| $(document).ready(function() { |
| // Initialize navgoco with default options |
| $("#mysidebar").navgoco({ |
| caretHtml: '', |
| accordion: false, |
| openClass: 'active', // open |
| save: false, // leave false or nav highlighting doesn't work right |
| cookie: { |
| name: 'navgoco', |
| expires: false, |
| path: '/' |
| }, |
| slide: { |
| duration: 400, |
| easing: 'swing' |
| } |
| }); |
| |
| $("#collapseAll").click(function(e) { |
| e.preventDefault(); |
| $("#mysidebar").navgoco('toggle', false); |
| }); |
| |
| $("#expandAll").click(function(e) { |
| e.preventDefault(); |
| $("#mysidebar").navgoco('toggle', true); |
| }); |
| |
| }); |
| |
| </script> |
| <script> |
| $(function () { |
| $('[data-toggle="tooltip"]').tooltip() |
| }) |
| </script> |
| <script> |
| $(document).ready(function() { |
| $("#tg-sb-link").click(function() { |
| $("#tg-sb-sidebar").toggle(); |
| $("#tg-sb-content").toggleClass('col-md-9'); |
| $("#tg-sb-content").toggleClass('col-md-12'); |
| $("#tg-sb-icon").toggleClass('fa-toggle-on'); |
| $("#tg-sb-icon").toggleClass('fa-toggle-off'); |
| }); |
| }); |
| </script> |
| |
| |
| </head> |
| <body> |
| <!-- Navigation --> |
| <nav class="navbar navbar-inverse navbar-static-top"> |
| <div class="container topnavlinks"> |
| <div class="navbar-header"> |
| <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> |
| <span class="sr-only">Toggle navigation</span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| </button> |
| <a class="fa fa-home fa-lg navbar-brand" href="/che/docs/"> <span class="projectTitle"> Eclipse Che Documentation</span></a> |
| </div> |
| <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> |
| <ul class="nav navbar-nav navbar-right"> |
| <!-- toggle sidebar button --> |
| <li><a id="tg-sb-link" href="#"><i id="tg-sb-icon" class="fa fa-toggle-on"></i> Nav</a></li> |
| <!-- entries without drop-downs appear here --> |
| |
| |
| |
| |
| |
| |
| |
| <li><a href="https://medium.com/eclipse-che-blog/" target="_blank">Blog</a></li> |
| |
| |
| |
| <li><a href="https://github.com/eclipse/che" target="_blank">Source Code</a></li> |
| |
| |
| |
| <!-- entries with drop-downs appear here --> |
| <!-- conditional logic to control which topnav appears for the audience defined in the configuration file.--> |
| |
| |
| <li class="dropdown"> |
| <a href="#" class="dropdown-toggle" data-toggle="dropdown">Get Support<b class="caret"></b></a> |
| <ul class="dropdown-menu"> |
| |
| |
| <li><a href="https://github.com/eclipse/che/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Akind%2Fbug" target="_blank">Known Bugs</a></li> |
| |
| |
| |
| <li><a href="https://github.com/eclipse/che/issues/new" target="_blank">File an Issue</a></li> |
| |
| |
| |
| <li><a href="https://stackoverflow.com/questions/tagged/eclipse-che" target="_blank">Che on StackOverflow</a></li> |
| |
| |
| </ul> |
| </li> |
| |
| |
| <!-- |
| <li> |
| |
| |
| |
| <a class="email" title="Submit feedback" href="#" onclick="javascript:window.location='mailto:?subject= feedback&body=I have some feedback about the Running Che locally page: ' + window.location.href;"><i class="fa fa-envelope-o"></i> Feedback</a> |
| |
| </li> |
| --> |
| |
| <!--comment out this block if you want to hide search--> |
| <li> |
| <!--start search--> |
| <div id="search-demo-container"> |
| <input type="text" id="search-input" placeholder="search..."> |
| <ul id="results-container"></ul> |
| </div> |
| <script src="/che/docs/js/jekyll-search.js" type="text/javascript"></script> |
| <script type="text/javascript"> |
| SimpleJekyllSearch.init({ |
| searchInput: document.getElementById('search-input'), |
| resultsContainer: document.getElementById('results-container'), |
| dataSource: "/che/docs/search.json", |
| searchResultTemplate: '<li><a href="{url}" title="Running Che locally">{title}</a></li>', |
| noResultsText: 'No results found.', |
| limit: 10, |
| fuzzy: true, |
| }) |
| </script> |
| <!--end search--> |
| </li> |
| </ul> |
| </div> |
| </div> |
| <!-- /.container --> |
| </nav> |
| |
| <!-- Page Content --> |
| <div class="container"> |
| <div id="main"> |
| <!-- Content Row --> |
| <div class="row"> |
| |
| |
| <!-- Sidebar Column --> |
| <div class="col-md-3" id="tg-sb-sidebar"> |
| |
| |
| <ul id="mysidebar" class="nav"> |
| <li class="sidebarTitle"> </li> |
| |
| <div class="sidebarSubtitle">Overview</div> |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/introduction-to-eclipse-che">Introduction to Che</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Che quick-starts</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/che-quick-starts">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/installing-the-chectl-management-tool">Installing the chectl management tool</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/running-che-locally">Running Che locally</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/deploying-che-on-kubernetes-on-aws">Che on Amazon Web Services</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/installing-che-on-openshift-3-using-the-operator">Che on OpenShift 3</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/installing-che-on-openshift-4-from-operatorhub">Che on OpenShift 4</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/installing-che-on-google-cloud-platform">Che on Google Cloud Platform</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/installing-eclipse-che-on-microsoft-azure">Che on Microsoft Azure</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/accessing-che-from-openshift-developer-perspective">Accessing Che from OpenShift Developer Perspective</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/hosted-che">Hosted Che</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Che architecture</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/che-architecture">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/high-level-che-architecture">High-level Che architecture</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/che-workspace-controller">Che workspace controller</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/che-workspaces-architecture">Che workspaces architecture</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <div class="sidebarSubtitle">End-user Guide</div> |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/navigating-che-using-the-dashboard">Navigating Che: dashboard</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Che-Theia IDE basics</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/che-theia-ide-basics">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/defining-custom-commands-for-che-theia">Defining custom commands for Che-Theia</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/version-control">Version Control</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/che-theia-troubleshooting">Che-Theia Troubleshooting</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Using developer workspaces</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/workspaces-overview">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/configuring-a-workspace-using-a-devfile">Configuring a workspace using a devfile</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/making-a-workspace-portable-using-a-devfile">Making a workspace portable using a devfile</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/converting-a-che-6-workspace-to-a-che-7-devfile">Converting a Che 6 Workspace to a Che 7 devfile</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/creating-and-configuring-a-new-che-7-workspace">Creating and configuring a new Che 7 workspace</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/importing-a-kubernetes-application-into-a-che-workspace">Importing a Kubernetes application into a Che workspace</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/remotely-accessing-che-workspaces">Remotely accessing workspaces</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/creating-a-workspace-from-code-sample">Creating a workspace from code sample</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/creating-a-workspace-by-importing-source-code-of-a-project">Creating a workspace by importing source code of a project</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/configuring-workspace-exposure-strategies">Configuring workspace exposure strategies</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Customizing developer environments</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/customizing-developer-environments">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/what-is-a-che-theia-plug-in">What is a Che-Theia plug-in</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/using-alternative-ides-in-che">Using alternative IDEs in Che</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/using-a-visual-studio-code-extension-in-che">Using a VS Code extension in Che</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/adding-tools-to-che-after-creating-a-workspace">Adding tools to Che after creating a workspace</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Configuring OAuth authorization</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/configuring-oauth-authorization">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/configuring-github-oauth">Configuring GitHub OAuth</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/configuring-openshift-oauth">Configuring OpenShift OAuth</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Using artifact repositories in a restricted environment</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/using-artifact-repositories-in-a-restricted-environment">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/using-maven-artifact-repositories">Using Maven artifact repositories</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/using-gradle-artifact-repositories">Using Gradle artifact repositories</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/using-python-artifact-repositories">Using Python artifact repositories</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/using-go-artifact-repositories">Using Go artifact repositories</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/using-nuget-artifact-repositories">Using NuGet artifact repositories</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/using-npm-artifact-repositories">Using npm artifact repositories</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/troubleshooting-for-che-end-users">Troubleshooting for Che end users</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <div class="sidebarSubtitle">Installation Guide</div> |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/installing-che-in-restricted-environment">Installing Che in restricted environment</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/upgrading-che">Upgrading Che</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/advanced-configuration-options">Advanced configuration options</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/uninstalling-che">Uninstalling Che</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <div class="sidebarSubtitle">Administration Guide</div> |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Customizing devfile and plug-in registries</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/customizing-the-devfile-and-plug-in-registries">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/building-and-running-a-custom-registry-image">Building and running a custom registry image</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/including-the-plug-in-binaries-in-the-registry-image">Including the plug-in binaries in the registry image</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/editing-a-devfile-and-plug-in-at-runtime">Editing a devfile and plug-in at runtime</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/configuring-system-variables">Configuring system variables</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Retrieving Che logs</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/retrieving-che-logs">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/viewing-kubernetes-events">Accessing Kubernetes events on OpenShift</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/viewing-che-server-logs">Viewing Che server logs</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/viewing-external-service-logs">Viewing external service logs</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/viewing-che-workspaces-logs">Viewing Che workspaces logs</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/viewing-plug-in-broker-logs">Viewing Plug-in broker logs</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/collecting-logs-using-chectl">Collecting logs using chectl</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/monitoring-che">Monitoring Che</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/tracing-che">Tracing Che</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Managing users</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/managing-users">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/configuring-authorization">Configuring authorization</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/using-organizations">Using organizations</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/removing-user-data">Removing user data</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Securing Che</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/securing-che">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/authenticating-users">Authenticating users</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/authorizing-users">Authorizing users</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Backup and disaster recovery</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/backup-and-disaster-recovery">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/external-database-setup">External database setup</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/persistent-volumes-backups">Persistent Volumes backups</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/calculating-che-resource-requirements">Calculating Che resource requirements</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/caching-images-for-faster-workspace-start">Caching images for faster workspace start</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <div class="sidebarSubtitle">Contributor Guide</div> |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/installing-che-in-tls-mode-with-self-signed-certificates">Installing Che in TLS mode with self-signed certificates</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/branding-che-theia">Branding Che-Theia</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/developing-che-theia-plug-ins">Developing Che-Theia plug-ins</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/testing-che-theia-plug-ins">Testing Che-Theia plug-ins</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/publishing-che-theia-plug-ins">Publishing Che-Theia plug-ins</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/adding-support-for-a-new-language">Adding support for a new language</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/adding-support-for-a-new-debugger">Adding support for a new debugger</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Che extensibility reference</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/che-extensibility-reference">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/che-extension-points">Che extension points</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/che-theia-plug-in-api">Che-Theia plug-in API</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/debug-adapter-protocol">Debug Adapter Protocol</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/language-server-protocol">Language Server Protocol</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <div class="sidebarSubtitle">Extensions</div> |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/eclipse-che4z">Eclipse Che4z</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">OpenShift Connector</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/openshift-connector-overview">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/features-of-openshift-connector">Features of OpenShift Connector</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/installing-openshift-connector-in-eclipse-che">Installing OpenShift Connector in Eclipse Che</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/authenticating-with-openshift-connector-from-eclipse-che">Authenticating with OpenShift Connector from Eclipse Che</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/creating-components-with-openshift-connector-in-eclipse-che">Creating Components with OpenShift Connector in Eclipse Che</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/connecting-source-code-from-github-to-a-openshift-component-using-openshift-connector">Connecting source code from GitHub to a OpenShift Component</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <!-- if you aren't using the accordion, uncomment this block: --> |
| <!-- <p class="external"> |
| <a href="#" id="collapseAll">Collapse all</a> | <a href="#" id="expandAll">Expand all</a> |
| </p>--> |
| |
| </ul> |
| |
| <!-- this highlights the active parent class in the navgoco sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.--> |
| <script>$("li.active").parents('li').toggleClass("active");</script> |
| |
| </div> |
| |
| |
| |
| |
| <!-- Content Column --> |
| <div class="col-md-9" id="tg-sb-content"> |
| <div class="post-header"> |
| <h1 class="post-title-main">Running Che locally</h1> |
| </div> |
| |
| |
| |
| <div class="post-content"> |
| |
| |
| |
| |
| |
| <!-- this handles the automatic toc. use ## for subheads to auto-generate the on-page minitoc. if you use html tags, you must supply an ID for the heading element in order for it to appear in the minitoc. --> |
| <script> |
| $( document ).ready(function() { |
| // Handler for .ready() called. |
| $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2' }); |
| /* this offset helps account for the space taken up by the floating toolbar. */ |
| $('#toc').on('click', 'a', function() { |
| var target = $(this.getAttribute('href')) |
| , scroll_target = target.offset().top |
| $(window).scrollTop(scroll_target - 10); |
| return false |
| }) |
| |
| }); |
| </script> |
| |
| <div id="toc"></div> |
| |
| |
| |
| |
| <!-- |
| |
| |
| --> |
| |
| <div id="preamble"> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>This section contains instructions for deploying and running Eclipse Che locally, on a personal workstation.</p> |
| </div> |
| <div class="paragraph"> |
| <div class="title">Prerequisites</div> |
| <p>To run and manage Che:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>A Kubernetes, version 1.9 or higher, or OpenShift cluster to deploy Che on</p> |
| </li> |
| <li> |
| <p>The <a href="https://github.com/che-incubator/chectl"><code>chectl</code></a> command-line tool for managing a Che server and its development workspaces. See <a href="/che/docs/che-7/installing-the-chectl-management-tool/">Installing the <code>chectl</code> management tool</a>.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="paragraph"> |
| <p>Eclipse Che is available in two modes: |
| * Kubernetes (version 1.9 or higher) or OpenShift cluster (version 3.11 or higher) to deploy Che on |
| * <strong>Single-user</strong>: Non-authenticated Che, lighter and suited for personal desktop environments |
| * <strong>Multi-user</strong>: Authenticated Che, suited for the cloud, for organizations and developer teams</p> |
| </div> |
| <div class="paragraph"> |
| <p>This section describes how to deploy and run Che in <strong>single-user</strong> mode.</p> |
| </div> |
| <script id="asciicast-216201" src="https://asciinema.org/a/216201.js" async></script> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="setting-up-a-local-kubernetes-or-openshift-cluster">Setting up a local Kubernetes or OpenShift cluster</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>Choose one of the following procedures to set up a local Kubernetes or OpenShift cluster:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p><a href="#using-minikube-to-set-up-kubernetes_running-che-locally">Using Minikube to set up Kubernetes</a></p> |
| </li> |
| <li> |
| <p><a href="#using-minishift-to-set-up-openshift-3_running-che-locally">Using Minishift to set up OpenShift 3</a></p> |
| </li> |
| <li> |
| <p><a href="#using-codeready-containers-to-set-up-openshift-4_running-che-locally">Using CodeReady Containers to set up OpenShift 4</a></p> |
| </li> |
| <li> |
| <p><a href="#using-docker-desktop-to-set-up-kubernetes_running-che-locally">Using Docker Desktop to set up Kubernetes</a></p> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="using-minikube-to-set-up-kubernetes_running-che-locally">Using Minikube to set up Kubernetes</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>This section describes how to use Minikube to set up Kubernetes.</p> |
| </div> |
| <div class="ulist"> |
| <div class="title">Prerequisites</div> |
| <ul> |
| <li> |
| <p>An installation of <code>kubectl</code>. See <a href="https://kubernetes.io/docs/tasks/tools/install-kubectl/">Installing and Setting Up kubectl</a>.</p> |
| </li> |
| <li> |
| <p>An installation of Minikube with Kubernetes version <code>1.9</code> or higher. See <a href="https://kubernetes.io/docs/tasks/tools/install-minikube/">Installing Minikube</a>.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="olist arabic"> |
| <div class="title">Procedure</div> |
| <ol class="arabic"> |
| <li> |
| <p>Start Minikube (it is important to <strong>allocate at least 4 GB of RAM</strong>):</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ minikube start --memory=4096</pre> |
| </div> |
| </div> |
| </li> |
| </ol> |
| </div> |
| <div class="sect2"> |
| <h3 id="running-minikube-inside-an-lxc-container">Running Minikube inside an LXC container</h3> |
| <div class="paragraph"> |
| <p>This section describes how to properly configure an LXC container to set up Minikube when the hypervisor uses ZFS, Btrfs, or LVM to provision the containers storage.</p> |
| </div> |
| <h4 id="background" class="discrete">Background</h4> |
| <div class="paragraph"> |
| <p>The <code>chectl</code> command-line tool requires the Minikube Ingress plug-in to be enabled in Minikube. At the same time, the Minikube Ingress plug-in requires the Docker daemon to be running with the overlay filesystem driver.</p> |
| </div> |
| <h4 id="problem" class="discrete">Problem</h4> |
| <div class="paragraph"> |
| <p>According to <a href="https://docs.docker.com/storage/storagedriver/select-storage-driver/">Docker storage drivers</a>, the Docker overlay2 driver is only supported with the Ext4 and XFS file systems (with <code>ftype=1</code>).</p> |
| </div> |
| <h4 id="solution" class="discrete">Solution</h4> |
| <div class="paragraph"> |
| <p>The solution is to create a virtual block device inside a volume, which in the case of BTRFS is impossible and will require to use a file as the virtual block device.</p> |
| </div> |
| <div class="paragraph"> |
| <div class="title">Procedure</div> |
| <p>In the following instructions, change the <code>zfsPool</code> or LVM <code>volume_group</code> name and <code>dockerstorage</code> according to your use case and preferences.</p> |
| </div> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Create a fixed size ZFS dataset or LVM volume on the hypervisor side:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ zfs create -V 50G zfsPool/dockerstorage #USING ZFS |
| $ lvcreate -L 50G -n dockerstorage volumegroup_name #USING LVM</pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>Use a partition tool to create a partition inside the virtual block device:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ parted /dev/zvol/zfsPool/dockerstorage --script mklabel gpt #USING ZFS |
| $ parted /dev/zvol/zfsPool/dockerstorage --script mkpart primary 1 100% #USING ZFS |
| $ parted /dev/mapper/volumegroup_name-dockerstorage --script mklabel gpt #USING LVM |
| $ parted /dev/mapper/volumegroup_name-dockerstorage --script mkpart primary 1 100% #USING LVM</pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>There is now a reference called:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>For ZFS: <code>dockerstorage-part1</code> inside the <code>/dev/zvol/zfsPool</code> directory</p> |
| </li> |
| <li> |
| <p>For LVM: <code>volumegroup_name-dockerstorage1</code> inside the <code>/dev/mapper</code> directory</p> |
| <div class="paragraph"> |
| <p>This is the partition of the virtual block device to be used to store <code>/var/lib/docker</code> from the LXC container.</p> |
| </div> |
| </li> |
| </ul> |
| </div> |
| </li> |
| <li> |
| <p>Format the virtual partition to XFS with the <code>ftype</code> flag set to <code>1</code>:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ mkfs.xfs -n ftype=1 /dev/zvol/zfsPool/dockerstorage-part1 #FOR ZFS |
| $ mkfs.xfs -n ftype=1 /dev/mapper/volumegroup_name-dockerstorage1 #FOR LVM</pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>Attach the virtual partition to the container (<code>minikube</code> is the name of the LXC container, <code>dockerstorage</code> is the name for the storage instance in LXC configuration):</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ lxc config device add minikube dockerstorage disk path=/var/lib/docker \ |
| source=/dev/zvol/zfsPool/dockerstorage-part1 #FOR ZFS |
| $ lxc config device add minikube dockerstorage disk path=/var/lib/docker \ |
| source=/dev/mapper/volumegroup_name-dockerstorage1 #FOR LVM</pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>Check the filesystem inside the container using the <code>df</code> command:</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ df -T /var/lib/docker</pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>Use the following LXC configuration profile in the LXC container to allow it running Minikube:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>config: |
| linux.kernel_modules: ip_vs,ip_vs_rr,ip_vs_wrr,ip_vs_sh,ip_tables,ip6_tables,netlink_diag,nf_nat,overlay,br_netfilter |
| raw.lxc: | |
| lxc.apparmor.profile=unconfined |
| lxc.mount.auto=proc:rw sys:rw |
| lxc.cgroup.devices.allow=a |
| lxc.cap.drop= |
| security.nesting: "true" |
| security.privileged: "true" |
| description: Profile supporting minikube in containers |
| devices: |
| aadisable: |
| path: /sys/module/apparmor/parameters/enabled |
| source: /dev/null |
| type: disk |
| aadisable2: |
| path: /sys/module/nf_conntrack/parameters/hashsize |
| source: /sys/module/nf_conntrack/parameters/hashsize |
| type: disk |
| aadisable3: |
| path: /dev/kmsg |
| source: /dev/kmsg |
| type: disk |
| name: minikube</pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>After starting and setting up networking and the Docker service inside the container, start Minikube:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ minikube start --vm-driver=none --extra-config kubeadm.ignore-preflight-errors=SystemVerification</pre> |
| </div> |
| </div> |
| </li> |
| </ol> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="using-minishift-to-set-up-openshift-3_running-che-locally">Using Minishift to set up OpenShift 3</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>This section describes how to use Minishift to set up OpenShift 3.</p> |
| </div> |
| <div class="ulist"> |
| <div class="title">Prerequisites</div> |
| <ul> |
| <li> |
| <p>An installation of Minishift version <code>1.34.1</code> or greater. See <a href="https://docs.okd.io/latest/install/index.html">Installing Minishift</a>.</p> |
| </li> |
| <li> |
| <p>The path of the <code>oc</code> binary file is set. See <a href="https://docs.okd.io/latest/minishift/command-ref/minishift_oc-env.html">Setting the path of the <code>oc</code> binary</a>.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="ulist"> |
| <div class="title">Procedure</div> |
| <ul> |
| <li> |
| <p>Start Minishift with at least 4 GB of RAM:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ minishift start --memory=4096</pre> |
| </div> |
| </div> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="using-codeready-containers-to-set-up-openshift-4_running-che-locally">Using CodeReady Containers to set up OpenShift 4</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>This section describes how to use CodeReady Containers to set up OpenShift 4.</p> |
| </div> |
| <div class="ulist"> |
| <div class="title">Prerequisites</div> |
| <ul> |
| <li> |
| <p>An installation of CodeReady Containers. See <a href="https://cloud.redhat.com/openshift/install/crc/installer-provisioned">Installing CodeReady Containers</a>.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="olist arabic"> |
| <div class="title">Procedure</div> |
| <ol class="arabic"> |
| <li> |
| <p>Set up your host machine for CodeReady Containers:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ crc setup</pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>Remove any previous cluster</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ crc delete</pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>Start the CodeReady Containers virtual machine with at least 12 GB of RAM.</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ crc start --memory 12288</pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>When prompted, supply your user pull secret.</p> |
| </li> |
| <li> |
| <p>Take note of the password for the user <code>kudadmin</code> that is displayed at the end of the installation.</p> |
| </li> |
| <li> |
| <p>Access the OpenShift web console</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ crc console</pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>Log in a first time with the <code>developer</code> account (password: <code>developer</code>) to initialize a first user using OAuth.</p> |
| </li> |
| <li> |
| <p>Log out.</p> |
| </li> |
| <li> |
| <p>Log in again with the previously mentioned <code>kubadmin</code> user and password.</p> |
| </li> |
| <li> |
| <p>Follow the procedure for <a href="/che/docs/che-7/installing-che-on-openshift-4-from-operatorhub/">Installing Che on OpenShift 4 from OperatorHub</a>.</p> |
| </li> |
| </ol> |
| </div> |
| <div class="ulist"> |
| <div class="title">Additional resources</div> |
| <ul> |
| <li> |
| <p>See <a href="https://access.redhat.com/documentation/en-us/red_hat_codeready_containers/">Product documentation for Red Hat CodeReady Containers</a>.</p> |
| </li> |
| <li> |
| <p>CodeReady Containers on GitHub. See <a href="https://github.com/code-ready/crc">CodeReady Containers - OpenShift 4 on your Laptop</a>.</p> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="using-docker-desktop-to-set-up-kubernetes_running-che-locally">Using Docker Desktop to set up Kubernetes</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>This section describes how to use Docker Desktop to set up Kubernetes.</p> |
| </div> |
| <div class="ulist"> |
| <div class="title">Prerequisites</div> |
| <ul> |
| <li> |
| <p>Running macOS or Windows.</p> |
| </li> |
| <li> |
| <p>An installation of Docker Desktop running Kubernetes version <code>1.9</code> or higher. See <a href="https://www.docker.com/products/docker-desktop">Installing Docker Desktop</a></p> |
| </li> |
| </ul> |
| </div> |
| <div class="ulist"> |
| <div class="title">Procedure</div> |
| <ul> |
| <li> |
| <p>See <a href="https://che.eclipse.org/running-eclipse-che-on-kubernetes-using-docker-desktop-for-mac-5d972ed511e1">Running Eclipse Che on Kubernetes using Docker Desktop on macOS or Windows</a>.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="ulist"> |
| <div class="title">Additional resources</div> |
| <ul> |
| <li> |
| <p>See <a href="https://che.eclipse.org/running-eclipse-che-on-kubernetes-using-docker-desktop-for-mac-5d972ed511e1">Running Eclipse Che on Kubernetes using Docker Desktop on macOS or Windows</a>.</p> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="deploying-che-using-chectl">Deploying Che using chectl</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>Choose one of the following procedures to start the Che Server using the <code>chectl</code> tool.</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p><a href="#installing-che-on-minikube-using-chectl_running-che-locally">Installing che on Minikube using chectl</a></p> |
| </li> |
| <li> |
| <p><a href="#installing-che-on-minishift-using-chectl_running-che-locally">Installing Che on Minishift using chectl</a></p> |
| </li> |
| <li> |
| <p><a href="#installing-che-on-codeready-containers-using-chectl_running-che-locally">Installing che on CodeReady Containers using chectl</a></p> |
| </li> |
| <li> |
| <p><a href="#installing-che-on-kind-using-chectl_running-che-locally">Installing Che on kind using chectl</a></p> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="installing-che-on-minikube-using-chectl_running-che-locally">Installing che on Minikube using chectl</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>This section describes how to install Che on Minikube using chectl.</p> |
| </div> |
| <div class="ulist"> |
| <div class="title">Prerequisites</div> |
| <ul> |
| <li> |
| <p><code>chectl</code> management tool is installed. See <a href="/che/docs/che-7/installing-the-chectl-management-tool/">Installing the <code>chectl</code> management tool</a>.</p> |
| </li> |
| <li> |
| <p>A running instance of Minikube. See <a href="#using-minikube-to-set-up-kubernetes_running-che-locally">Using Minikube to set up Kubernetes</a>.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="ulist"> |
| <div class="title">Procedure</div> |
| <ul> |
| <li> |
| <p>Run the following command:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ chectl server:start --platform minikube</pre> |
| </div> |
| </div> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="installing-che-on-minishift-using-chectl_running-che-locally">Installing Che on Minishift using chectl</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>This section describes how to install Che on Minishift using chectl.</p> |
| </div> |
| <div class="ulist"> |
| <div class="title">Prerequisites</div> |
| <ul> |
| <li> |
| <p><code>chectl</code> management tool is installed. See <a href="/che/docs/che-7/installing-the-chectl-management-tool/">Installing the <code>chectl</code> management tool</a>.</p> |
| </li> |
| <li> |
| <p>A running instance of Minishift. See <a href="#using-minishift-to-set-up-openshift-3_running-che-locally">Using Minishift to set up OpenShift 3</a>.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="ulist"> |
| <div class="title">Procedure</div> |
| <ul> |
| <li> |
| <p>Run the following command:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ chectl server:start --platform minishift</pre> |
| </div> |
| </div> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="installing-che-on-codeready-containers-using-chectl_running-che-locally">Installing che on CodeReady Containers using chectl</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>This section describes how to install Che on CodeReady Containers using chectl.</p> |
| </div> |
| <div class="ulist"> |
| <div class="title">Prerequisites</div> |
| <ul> |
| <li> |
| <p><code>chectl</code> management tool is installed. See <a href="/che/docs/che-7/installing-the-chectl-management-tool/">Installing the <code>chectl</code> management tool</a>.</p> |
| </li> |
| <li> |
| <p>A running instance of CodeReady Containers. See <a href="#using-codeready-containers-to-set-up-openshift-4_running-che-locally">Using CodeReady Containers to set up OpenShift 4</a>.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="ulist"> |
| <div class="title">Procedure</div> |
| <ul> |
| <li> |
| <p>Run the following command:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ chectl server:start --platform crc</pre> |
| </div> |
| </div> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="installing-che-on-kind-using-chectl_running-che-locally">Installing Che on kind using chectl</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>This section describes how to install Che on <a href="https://github.com/kubernetes-sigs/kind">kind</a> using chectl. kind is a tool for running local Kubernetes clusters using Docker-formatted containers as nodes. It is useful for quickly creating ephemeral clusters, and is used as part of the test infrastructure of the Kubernetes project. Running Che in kind is a way to try the application, or for a contributor to test their change quickly with a real cluster.</p> |
| </div> |
| <div class="ulist"> |
| <div class="title">Prerequisites</div> |
| <ul> |
| <li> |
| <p><code>chectl</code> management tool is installed. See <a href="/che/docs/che-7/installing-the-chectl-management-tool/">Installing the <code>chectl</code> management tool</a>.</p> |
| </li> |
| <li> |
| <p>A running kind cluster. See <a href="https://kind.sigs.k8s.io/#installation-and-usage">kind installation and usage</a> documentation.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="olist arabic"> |
| <div class="title">Procedure</div> |
| <ol class="arabic"> |
| <li> |
| <p>Install <a href="https://github.com/kubernetes-csi/csi-driver-host-path">csi-driver-host-path</a> in the kind cluster:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ git clone https://github.com/kubernetes-csi/csi-driver-host-path && cd csi-driver-host-path |
| $ ./deploy/kubernetes-<em><version></em>/deploy-hostpath.sh |
| $ kubectl apply -f examples/csi-storageclass.yaml</pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>Set <code>csi-hostpath-sc</code> as the default <code>StorageClass</code>:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ kubectl patch storageclass csi-hostpath-sc -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "true"}}}' |
| $ kubectl patch storageclass standard -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "false"}}}'</pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>Install the <a href="https://kubernetes.github.io/ingress-nginx/deploy/">NGINX Ingress Controller</a>:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml |
| $ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/cloud-generic.yaml</pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>Install the <a href="https://metallb.universe.tf/">MetalLB</a> load balancer:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ kubectl apply -f https://raw.githubusercontent.com/google/metallb/v<em><version></em>/manifests/metallb.yaml</pre> |
| </div> |
| </div> |
| <div class="admonitionblock note"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <i class="fa icon-note" title="Note"></i> |
| </td> |
| <td class="content"> |
| <div class="paragraph"> |
| <p>The above command may apply to an out-of-date version of MetalLB Kubernetes manifests. See <a href="https://metallb.universe.tf/installation/">the installation instructions</a> for the most up-to-date command.</p> |
| </div> |
| </td> |
| </tr> |
| </table> |
| </div> |
| </li> |
| <li> |
| <p>Determine an IP range to allocate to MetalLB from the <code>docker</code> bridge network:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ docker inspect bridge | grep -C 5 Subnet |
| "IPAM": { |
| "Driver": "default", |
| "Options": null, |
| "Config": [ |
| { |
| "Subnet": "172.17.0.0/16", |
| "Gateway": "172.17.0.1" |
| } |
| ] |
| }, |
| "Internal": false,</pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>In this case, there is a <code>/16</code> subnet range to allocate. Choose a section in the <code>172.17.250.0</code> range.</p> |
| </div> |
| </li> |
| <li> |
| <p>Create a <code>ConfigMap</code> for MetalLB specifying the IP range to expose:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ cat << EOF > metallb-config.yaml |
| apiVersion: v1 |
| kind: ConfigMap |
| metadata: |
| namespace: metallb-system |
| name: config |
| data: |
| config: | |
| address-pools: |
| - name: default |
| protocol: layer2 |
| addresses: |
| - 172.17.250.1-172.17.250.250 |
| EOF |
| $ kubectl apply -f metallb-config.yaml</pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>The <code>ingress-nginx</code> service now has an external IP:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ kubectl get svc -n ingress-nginx |
| NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE |
| ingress-nginx LoadBalancer 10.107.194.26 172.17.255.1 80:32033/TCP,443:30428/TCP 19h</pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>Run <code>chectl</code>, using the external IP of the <code>ingress-nginx</code> Service as an <a href="https://nip.io">nip.io</a> URL:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ chectl server:start --installer operator --platform k8s --domain 172.17.250.1.nip.io</pre> |
| </div> |
| </div> |
| </li> |
| </ol> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="deploying-multiuser-che-in-multiuser-mode">Deploying multiuser Che in multiuser mode</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>Choose one of the following procedures to start the Che Server in multi-user mode using the <code>chectl</code> tool.</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p><a href="#installing-multi-user-che-on-minikube-using-chectl_running-che-locally">Installing multiuser Che on Minikube using chectl</a></p> |
| </li> |
| <li> |
| <p><a href="#installing-multi-user-che-on-minishift-using-chectl_running-che-locally">Installing multiuser Che on Minishift using chectl</a></p> |
| </li> |
| <li> |
| <p><a href="#installing-multi-user-che-on-codeready-containers-using-chectl_running-che-locally">Installing multiuser Che on CodeReady Containers using chectl</a></p> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="installing-multi-user-che-on-minikube-using-chectl_running-che-locally">Installing multiuser Che on Minikube using chectl</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>This section describes how to install Eclipse Che in multiuser mode on Minikube using chectl.</p> |
| </div> |
| <div class="ulist"> |
| <div class="title">Prerequisites</div> |
| <ul> |
| <li> |
| <p><code>chectl</code> management tool is installed. See <a href="/che/docs/che-7/installing-the-chectl-management-tool/">Installing the <code>chectl</code> management tool</a>.</p> |
| </li> |
| <li> |
| <p>A running instance of Minikube. See <a href="#using-minikube-to-set-up-kubernetes_running-che-locally">Using Minikube to set up Kubernetes</a>.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="ulist"> |
| <div class="title">Procedure</div> |
| <ul> |
| <li> |
| <p>Run the following command:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ chectl server:start --platform minikube --multiuser</pre> |
| </div> |
| </div> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="installing-multi-user-che-on-minishift-using-chectl_running-che-locally">Installing multiuser Che on Minishift using chectl</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>This section describes how to install Eclipse Che in multiuser mode on Minishift using chectl.</p> |
| </div> |
| <div class="ulist"> |
| <div class="title">Prerequisites</div> |
| <ul> |
| <li> |
| <p><code>chectl</code> management tool is installed. See <a href="/che/docs/che-7/installing-the-chectl-management-tool/">Installing the <code>chectl</code> management tool</a>.</p> |
| </li> |
| <li> |
| <p>A running instance of Minishift. See <a href="#using-minishift-to-set-up-openshift-3_running-che-locally">Using Minishift to set up OpenShift 3</a>.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="ulist"> |
| <div class="title">Procedure</div> |
| <ul> |
| <li> |
| <p>Run the following command:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ chectl server:start --platform minishift</pre> |
| </div> |
| </div> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="installing-multi-user-che-on-codeready-containers-using-chectl_running-che-locally">Installing multiuser Che on CodeReady Containers using chectl</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>This section describes how to install Eclipse Che in multiuser mode on CodeReady Containers using chectl.</p> |
| </div> |
| <div class="ulist"> |
| <div class="title">Prerequisites</div> |
| <ul> |
| <li> |
| <p><code>chectl</code> management tool is installed. See <a href="/che/docs/che-7/installing-the-chectl-management-tool/">Installing the <code>chectl</code> management tool</a>.</p> |
| </li> |
| <li> |
| <p>A running instance of CodeReady Containers. See <a href="#using-codeready-containers-to-set-up-openshift-4_running-che-locally">Using CodeReady Containers to set up OpenShift 4</a>.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="ulist"> |
| <div class="title">Procedure</div> |
| <ul> |
| <li> |
| <p>Run the following command:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre>$ chectl server:start --platform crc --multiuser</pre> |
| </div> |
| </div> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="che-deployment-options-using-chectl_running-che-locally">Che deployment options using chectl</h2> |
| <div class="sectionbody"> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="nowrap">chectl server:start --help |
| start Eclipse Che Server |
| |
| USAGE |
| $ chectl server:start |
| |
| OPTIONS |
| -a, --installer=helm|operator|minishift-addon Installer type |
| -b, --domain=domain Domain of the Kubernetes cluster (e.g. example.k8s-cluster.com or <local-ip>.nip.io) |
| -h, --help show CLI help |
| -i, --cheimage=cheimage [default: eclipse/che-server:7.3.0] Che server container image |
| -m, --multiuser Starts che in multi-user mode |
| -n, --chenamespace=chenamespace [default: che] Kubernetes namespace where Che server is supposed by be deployed |
| -o, --cheboottimeout=cheboottimeout (required) [default: 40000] Che server bootstrap timeout (in milliseconds) |
| |
| -p, --platform=minikube|minishift|k8s|openshift|microk8s|docker-desktop|crc Type of Kubernetes platform. Valid values are "minikube", "minishift", "k8s (for kubernetes)", "openshift", "crc (for CodeReady Containers)", "microk8s". |
| |
| -s, --tls Enable TLS encryption. Note that for kubernetes 'che-tls' with TLS certificate must be created in the configured namespace. For OpenShift, router will use default cluster certificates. |
| |
| -t, --templates=templates [default: templates] Path to the templates folder |
| |
| --che-operator-cr-yaml=che-operator-cr-yaml Path to a yaml file that defines a CheCluster used by the Operator. This parameter is used only when the installer is the Operator. |
| |
| --che-operator-image=che-operator-image [default: quay.io/eclipse/che-operator:7.3.0] Container image of the Operator. This parameter is used only when the installer is the Operator |
| |
| --deployment-name=deployment-name [default: che] Che deployment name |
| |
| --devfile-registry-url=devfile-registry-url The URL of the external Devfile registry. |
| |
| --k8spodreadytimeout=k8spodreadytimeout [default: 130000] Waiting time for Pod Ready Kubernetes (in milliseconds) |
| |
| --k8spodwaittimeout=k8spodwaittimeout [default: 300000] Waiting time for Pod Wait Timeout Kubernetes (in milliseconds) |
| |
| --listr-renderer=default|silent|verbose [default: default] Listr renderer |
| |
| --os-oauth Enable use of OpenShift credentials to log into Che |
| |
| --plugin-registry-url=plug-in-registry-url The URL of the external plug-in registry. |
| |
| --self-signed-cert Authorize usage of self signed certificates for encryption. Note that `self-signed-certificate` secret with CA certificate must be created in the configured namespace.</pre> |
| </div> |
| </div> |
| <div class="ulist"> |
| <div class="title">Additional resources</div> |
| <ul> |
| <li> |
| <p><a href="/che/docs/che-7/creating-a-workspace-from-code-sample">Creating a workspace from code sample</a></p> |
| </li> |
| <li> |
| <p><a href="/che/docs/che-7/creating-a-workspace-by-importing-source-code-of-a-project">Creating a workspace by importing the source code of a project</a></p> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| |
| <div class="tags"> |
| |
| <b>Tags: </b> |
| |
| |
| |
| </div> |
| |
| <!-- |
| --> |
| |
| </div> |
| |
| <hr class="shaded"/> |
| |
| <footer> |
| <div class="row"> |
| <div class="col-lg-12 footer"> |
| Eclipse Che - Documentation <br/> |
| Site last generated: Apr 29, 2020 <br/> |
| <hr> |
| <a href="http://www.eclipse.org" target="_blank">Eclipse Foundation</a><br/> |
| <a href="http://www.eclipse.org/legal/privacy.php" target="_blank">Privacy Policy</a><br/> |
| <a href="http://www.eclipse.org/legal/termsofuse.php" target="_blank">Terms of Use</a><br/> |
| <a href="https://www.eclipse.org/legal/epl-2.0/" target="_blank">Eclipse Public License</a><br/> |
| <a href="http://www.eclipse.org/legal" target="_blank">Legal Resources</a><br/> |
| </div> |
| </div> |
| </footer> |
| |
| |
| |
| |
| <!-- /.row --> |
| </div> |
| <!-- /.container --> |
| </div> |
| <!-- /#main --> |
| </div> |
| |
| </body> |
| |
| </html> |