blob: 6394aa2ea1769cceb1194ec4f811c97b7ae16a60 [file] [log] [blame]
<!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/">&nbsp;<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 &amp;&amp; cd csi-driver-host-path
$ ./deploy/kubernetes-<em>&lt;version&gt;</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>&lt;version&gt;</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 &lt;&lt; EOF &gt; 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 &lt;local-ip&gt;.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>