| <!DOCTYPE html> | |
| <html class="no-js"> | |
| <head lang="en-us"> | |
| <meta charset="utf-8"> | |
| <meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1,maximum-scale=1"> | |
| <meta http-equiv="X-UA-Compatible" content="IE=10" /> | |
| <title>Getting Started - Eclipse hawkBit</title> | |
| <meta name="generator" content="Hugo 0.77.0" /> | |
| <meta name="description" content="IoT. Update. Device."> | |
| <link rel="canonical" href="https://www.eclipse.org/hawkbit/gettingstarted/"> | |
| <meta name="author" content="The Eclipse hawkBit Project"> | |
| <meta property="og:url" content="https://www.eclipse.org/hawkbit/gettingstarted/"> | |
| <meta property="og:title" content="Eclipse hawkBit"> | |
| <meta property="og:image" content="https://www.eclipse.org/hawkbit/images/hawkbit_icon.png"> | |
| <meta name="apple-mobile-web-app-title" content="Eclipse hawkBit"> | |
| <meta name="apple-mobile-web-app-capable" content="yes"> | |
| <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> | |
| <link rel="shortcut icon" type="image/x-icon" href="https://www.eclipse.org/hawkbit/images/favicon.ico"> | |
| <link rel="icon" type="image/x-icon" href="https://www.eclipse.org/hawkbit/images/favicon.ico"> | |
| <style> | |
| @font-face { | |
| font-family: 'Icon'; | |
| src: url('https://www.eclipse.org/hawkbit/fonts/icon.eot'); | |
| src: url('https://www.eclipse.org/hawkbit/fonts/icon.eot') | |
| format('embedded-opentype'), | |
| url('https://www.eclipse.org/hawkbit/fonts/icon.woff') | |
| format('woff'), | |
| url('https://www.eclipse.org/hawkbit/fonts/icon.ttf') | |
| format('truetype'), | |
| url('https://www.eclipse.org/hawkbit/fonts/icon.svg') | |
| format('svg'); | |
| font-weight: normal; | |
| font-style: normal; | |
| } | |
| </style> | |
| <link rel="stylesheet" href="https://www.eclipse.org/hawkbit/stylesheets/application.css"> | |
| <link rel="stylesheet" href="https://www.eclipse.org/hawkbit/stylesheets/temporary.css"> | |
| <link rel="stylesheet" href="https://www.eclipse.org/hawkbit/stylesheets/palettes.css"> | |
| <link rel="stylesheet" href="https://www.eclipse.org/hawkbit/stylesheets/highlight/highlight.css"> | |
| <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Ubuntu:400,700|Ubuntu+Mono"> | |
| <style> | |
| body, input { | |
| font-family: 'Ubuntu', Helvetica, Arial, sans-serif; | |
| } | |
| pre, code { | |
| font-family: 'Ubuntu Mono', 'Courier New', 'Courier', monospace; | |
| } | |
| </style> | |
| <link rel="stylesheet" href="https://www.eclipse.org/hawkbit/css/hawkbit.css"> | |
| <link rel="stylesheet" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css"> | |
| <script src="https://www.eclipse.org/hawkbit/javascripts/modernizr.js"></script> | |
| <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> | |
| <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous"> | |
| </head> | |
| <body class="palette-primary-deep-purple palette-accent-light-green"> | |
| <div class="backdrop"> | |
| <div class="backdrop-paper"></div> | |
| </div> | |
| <input class="toggle" type="checkbox" id="toggle-drawer"> | |
| <input class="toggle" type="checkbox" id="toggle-search"> | |
| <label class="toggle-button overlay" for="toggle-drawer"></label> | |
| <header class="header"> | |
| <nav aria-label="Header"> | |
| <div class="bar default"> | |
| <div class="button button-menu" role="button" aria-label="Menu"> | |
| <label class="toggle-button icon icon-menu" for="toggle-drawer"> | |
| <span></span> | |
| </label> | |
| </div> | |
| <div class="stretch"> | |
| <div class="title"> | |
| Getting Started | |
| </div> | |
| </div> | |
| <div class="button button-github" role="button" aria-label="GitHub"> | |
| <a href="https://github.com/eclipse/hawkbit" title="@eclipse/hawkbit on GitHub" target="_blank" class="toggle-button icon icon-github"></a> | |
| </div> | |
| <div class="button button-github" role="button" aria-label="Gitter"> | |
| <a href="https://gitter.im/eclipse/hawkbit" title="@eclipse/hawkbit on Gitter" target="_blank" class="toggle-button icon fab fa-gitter"></a> | |
| </div> | |
| <div class="button button-github" role="button" aria-label="Docker"> | |
| <a href="https://hub.docker.com/u/hawkbit" title="hawkbit on Docker Hub" target="_blank" class="toggle-button icon fab fa-docker"></a> | |
| </div> | |
| </div> | |
| <div class="bar search"> | |
| <div class="button button-close" role="button" aria-label="Close"> | |
| <label class="toggle-button icon icon-back" for="toggle-search"></label> | |
| </div> | |
| <div class="stretch"> | |
| <div class="field"> | |
| <input class="query" type="text" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck> | |
| </div> | |
| </div> | |
| <div class="button button-reset" role="button" aria-label="Search"> | |
| <button class="toggle-button icon icon-close" id="reset-search"></button> | |
| </div> | |
| </div> | |
| </nav> | |
| </header> | |
| <main class="main"> | |
| <div class="drawer"> | |
| <nav aria-label="Navigation"> | |
| <a href="https://www.eclipse.org/hawkbit/" class="project"> | |
| <div class="banner"> | |
| <div class="logo"> | |
| <img src="https://www.eclipse.org/hawkbit/images/hawkbit_icon.png"> | |
| </div> | |
| <div class="name"> | |
| <strong>Eclipse hawkBit™ </strong> | |
| <br> | |
| eclipse/hawkbit | |
| </div> | |
| </div> | |
| </a> | |
| <div class="scrollable"> | |
| <div class="wrapper"> | |
| <ul class="repo"> | |
| <li class="repo-download"> | |
| <a href="https://hawkbit.eclipse.org" target="_blank" title="hawkBit Sandbox" data-action="sandbox"> | |
| <i class="fas fa-desktop"></i> Sandbox | |
| </a> | |
| </li> | |
| <li class="repo-stars"> | |
| <a href="https://github.com/eclipse/hawkbit/stargazers" target="_blank" title="Stargazers" data-action="star"> | |
| <i class="icon icon-star"></i> Stars | |
| <span class="count">–</span> | |
| </a> | |
| </li> | |
| </ul> | |
| <hr> | |
| <div class="toc"> | |
| <ul> | |
| <li> | |
| <a title="What is hawkBit" href="/hawkbit/whatishawkbit/"> | |
| What is hawkBit | |
| </a> | |
| </li> | |
| <li> | |
| <a class="current" title="Getting started" href="/hawkbit/gettingstarted/"> | |
| Getting started | |
| </a> | |
| <ul id="scrollspy"> | |
| </ul> | |
| </li> | |
| <li> | |
| <a title="Guides" href="/hawkbit/guides/"> | |
| Guides | |
| </a> | |
| </li> | |
| <li> | |
| <a title="Features" href="/hawkbit/features/"> | |
| Features | |
| </a> | |
| </li> | |
| <li> | |
| <a title="Concepts" href="/hawkbit/concepts/"> | |
| Concepts | |
| </a> | |
| </li> | |
| <li> | |
| <a title="Architecture" href="/hawkbit/architecture/"> | |
| Architecture | |
| </a> | |
| </li> | |
| <li> | |
| <a title="Management UI" href="/hawkbit/ui/"> | |
| Management UI | |
| </a> | |
| </li> | |
| <li> | |
| <a title="APIs" href="/hawkbit/apis/"> | |
| APIs | |
| </a> | |
| </li> | |
| <li> | |
| <a title="Community" href="/hawkbit/community/"> | |
| Community | |
| </a> | |
| </li> | |
| <li> | |
| <a title="Release notes" href="/hawkbit/release-notes/"> | |
| Release notes | |
| </a> | |
| </li> | |
| </ul> | |
| <hr> | |
| <ul> | |
| <li> | |
| <a href="https://gitter.im/eclipse/hawkbit?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge" title="Chat on Gitter" target="_blank"> | |
| <img src="https://badges.gitter.im/eclipse/hawkbit.svg" /> | |
| </a> | |
| </li> | |
| <li> | |
| <a href="https://circleci.com/gh/eclipse/hawkbit" title="Circle CI Status" target="_blank"> | |
| <img src="https://circleci.com/gh/eclipse/hawkbit.svg?style=shield" /> | |
| </a> | |
| </li> | |
| <li> | |
| <a href="https://sonar.ops.bosch-iot-rollouts.com" title="SonarQube Status" target="_blank"> | |
| <img src="https://sonar.ops.bosch-iot-rollouts.com/api/badges/gate?key=org.eclipse.hawkbit:hawkbit-parent" /> | |
| </a> | |
| </li> | |
| <li> | |
| <a href="https://maven-badges.herokuapp.com/maven-central/org.eclipse.hawkbit/hawkbit-parent" title="Maven Central Status" target="_blank"> | |
| <img src="https://maven-badges.herokuapp.com/maven-central/org.eclipse.hawkbit/hawkbit-parent/badge.svg" /> | |
| </a> | |
| </li> | |
| </ul> | |
| </div> | |
| </div> | |
| </div> | |
| </nav> | |
| </div> | |
| <article class="article"> | |
| <div class="wrapper"> | |
| <h1>Getting Started </h1> | |
| <h2 id="on-sandbox">On Sandbox</h2> | |
| <p>We offer a sandbox installation that is free for everyone to try out hawkBit’s <a href="/hawkbit/ui/">Management UI</a>, | |
| <a href="/hawkbit/apis/management_api/">Management API</a>, and <a href="/hawkbit/apis/ddi_api/">Direct Device Integration API</a>: | |
| <strong><a href="https://hawkbit.eclipse.org"><i class="fas fa-desktop"> </i> https://hawkbit.eclipse.org</a></strong></p> | |
| <div class="admonition warning"> | |
| <p class="admonition-title"></p> | |
| <p>The sandbox is a shared installation that will be reset from time to time. Therefore, it is not allowed to upload | |
| any personal data.</p> | |
| </div> | |
| <p>In addition, the following vendors offer free trial accounts for their Eclipse hawkBit compatible products:</p> | |
| <ul> | |
| <li><a href="https://www.bosch-iot-suite.com/rollouts/#plans">Bosch IoT Rollouts</a> (by <a href="https://bosch.io/">Bosch.IO GmbH</a>)</li> | |
| <li><a href="https://www.kynetics.com/update-factory">Kynetics Update Factory</a> (by <a href="https://www.kynetics.com/">Kynetics LLC</a>)</li> | |
| </ul> | |
| <h2 id="from-docker-image">From Docker Image</h2> | |
| <h3 id="overview">Overview</h3> | |
| <table> | |
| <thead> | |
| <tr> | |
| <th>Service / Container</th> | |
| <th>A</th> | |
| <th>B</th> | |
| <th>C</th> | |
| </tr> | |
| </thead> | |
| <tbody> | |
| <tr> | |
| <td>hawkBit Update Server</td> | |
| <td>✓</td> | |
| <td>✓</td> | |
| <td>✓</td> | |
| </tr> | |
| <tr> | |
| <td>hawkBit Device Simulator</td> | |
| <td></td> | |
| <td></td> | |
| <td>✓</td> | |
| </tr> | |
| <tr> | |
| <td>MySQL</td> | |
| <td></td> | |
| <td>✓</td> | |
| <td>✓</td> | |
| </tr> | |
| <tr> | |
| <td>RabbitMQ</td> | |
| <td></td> | |
| <td>✓</td> | |
| <td>✓</td> | |
| </tr> | |
| </tbody> | |
| </table> | |
| <h3 id="a-run-hawkbit-update-server-as-docker-container">A: Run hawkBit Update Server as Docker Container</h3> | |
| <p>Start the hawkBit Update Server as a single container</p> | |
| <pre><code class="language-bash">$ docker run -p 8080:8080 hawkbit/hawkbit-update-server:latest | |
| </code></pre> | |
| <h3 id="b-run-hawkbit-update-server-with-services-as-docker-compose">B: Run hawkBit Update Server with services as Docker Compose</h3> | |
| <p>Start the hawkBit Update Server together with an MySQL and RabbitMQ instance as containers</p> | |
| <pre><code class="language-bash">$ git clone https://github.com/eclipse/hawkbit.git | |
| $ cd hawkbit/hawkbit-runtime/docker | |
| $ docker-compose up -d | |
| </code></pre> | |
| <h3 id="c-run-hawkbit-update-server-with-services-as-docker-stack">C: Run hawkBit Update Server with services as Docker Stack</h3> | |
| <p>Start the hawkBit Update Server and Device Simulator together with an MySQL and RabbitMQ instance as services within a swarm</p> | |
| <pre><code class="language-bash">$ git clone https://github.com/eclipse/hawkbit.git | |
| $ cd hawkbit/hawkbit-runtime/docker | |
| $ docker swarm init | |
| $ docker stack deploy -c docker-compose-stack.yml hawkbit | |
| </code></pre> | |
| <h2 id="from-sources">From Sources</h2> | |
| <h3 id="1-clone-and-build-hawkbit">1: Clone and build hawkBit</h3> | |
| <pre><code class="language-sh">$ git clone https://github.com/eclipse/hawkbit.git | |
| $ cd hawkbit | |
| $ mvn clean install | |
| </code></pre> | |
| <h3 id="2-start-hawkbit-update-server-https-github-com-eclipse-hawkbit-tree-master-hawkbit-runtime-hawkbit-update-server">2: Start hawkBit <a href="https://github.com/eclipse/hawkbit/tree/master/hawkbit-runtime/hawkbit-update-server">update server</a></h3> | |
| <pre><code class="language-sh">$ java -jar ./hawkbit-runtime/hawkbit-update-server/target/hawkbit-update-server-#version#-SNAPSHOT.jar | |
| </code></pre> | |
| <h3 id="3-build-hawkbit-examples">3: Build hawkBit examples</h3> | |
| <pre><code class="language-sh">$ git clone https://github.com/eclipse/hawkbit-examples.git | |
| $ cd hawkbit-examples | |
| $ mvn clean install | |
| </code></pre> | |
| <h3 id="4-start-hawkbit-device-simulator-https-github-com-eclipse-hawkbit-examples-tree-master-hawkbit-device-simulator">4: Start hawkBit <a href="https://github.com/eclipse/hawkbit-examples/tree/master/hawkbit-device-simulator">Device Simulator</a></h3> | |
| <pre><code class="language-sh">$ java -jar ./hawkbit-device-simulator/target/hawkbit-device-simulator-#version#.jar | |
| </code></pre> | |
| <h3 id="5-generate-getting-started-data-with-example-management-api-client-https-github-com-eclipse-hawkbit-examples-tree-master-hawkbit-example-mgmt-simulator">5: Generate Getting Started data with <a href="https://github.com/eclipse/hawkbit-examples/tree/master/hawkbit-example-mgmt-simulator">Example Management API Client</a></h3> | |
| <pre><code class="language-sh">$ java -jar ./hawkbit-example-mgmt-simulator/target/hawkbit-example-mgmt-simulator-#version#.jar | |
| </code></pre> | |
| <aside class="copyright" role="note"> | |
| <div class="logo"> | |
| <a href="https://www.eclipse.org" target="_blank"> | |
| <img src="/hawkbit/images/eclipse_foundation_logo.png" /> | |
| </a> | |
| </div> | |
| <p class="notice"> | |
| © 2021 The Eclipse hawkBit Project – | |
| Documentation built with | |
| <a href="https://www.gohugo.io" target="_blank">Hugo</a> | |
| using the | |
| <a href="http://github.com/digitalcraftsman/hugo-material-docs" target="_blank">Material</a> theme. | |
| </p> | |
| <p class="quickLinks"> | |
| <a href="http://www.eclipse.org/legal/privacy.php" target="_blank"> | |
| > Privacy Policy | |
| </a> | |
| <a href="http://www.eclipse.org/legal/termsofuse.php" target="_blank"> | |
| > Terms of Use | |
| </a> | |
| <a href="http://www.eclipse.org/legal/copyright.php" target="_blank"> | |
| > Copyright Agent | |
| </a> | |
| <a href="http://www.eclipse.org/legal" target="_blank"> | |
| > Legal | |
| </a> | |
| <a href="https://www.eclipse.org/org/documents/epl-v10.php" target="_blank"> | |
| > License | |
| </a> | |
| </p> | |
| </aside> | |
| <footer class="footer"> | |
| <nav class="pagination" aria-label="Footer"> | |
| <div class="previous"> | |
| <a href="https://www.eclipse.org/hawkbit/guides/runhawkbit/" title="Run hawkBit"> | |
| <span class="direction"> | |
| Previous | |
| </span> | |
| <div class="page"> | |
| <div class="button button-previous" role="button" aria-label="Previous"> | |
| <i class="icon icon-back"></i> | |
| </div> | |
| <div class="stretch"> | |
| <div class="title"> | |
| Run hawkBit | |
| </div> | |
| </div> | |
| </div> | |
| </a> | |
| </div> | |
| <div class="next"> | |
| <a href="https://www.eclipse.org/hawkbit/whatishawkbit/" title="What is hawkBit?"> | |
| <span class="direction"> | |
| Next | |
| </span> | |
| <div class="page"> | |
| <div class="stretch"> | |
| <div class="title"> | |
| What is hawkBit? | |
| </div> | |
| </div> | |
| <div class="button button-next" role="button" aria-label="Next"> | |
| <i class="icon icon-forward"></i> | |
| </div> | |
| </div> | |
| </a> | |
| </div> | |
| </nav> | |
| </footer> | |
| </div> | |
| </article> | |
| <div class="results" role="status" aria-live="polite"> | |
| <div class="scrollable"> | |
| <div class="wrapper"> | |
| <div class="meta"></div> | |
| <div class="list"></div> | |
| </div> | |
| </div> | |
| </div> | |
| </main> | |
| <script> | |
| var base_url = 'https:\/\/www.eclipse.org\/hawkbit\/'; | |
| var repo_id = 'eclipse\/hawkbit'; | |
| </script> | |
| <script src="https://www.eclipse.org/hawkbit/javascripts/application.js"></script> | |
| <script> | |
| /* Add headers to scrollspy */ | |
| var headers = document.getElementsByTagName("h2"); | |
| var scrollspy = document.getElementById('scrollspy'); | |
| if(scrollspy) { | |
| if(headers.length > 0) { | |
| for(var i = 0; i < headers.length; i++) { | |
| var li = document.createElement("li"); | |
| li.setAttribute("class", "anchor"); | |
| var a = document.createElement("a"); | |
| if(!headers[i].id) | |
| a.setAttribute("href", headers[i].parentNode.href); | |
| else | |
| a.setAttribute("href", "#" + headers[i].id); | |
| a.setAttribute("title", headers[i].innerHTML); | |
| a.innerHTML = headers[i].innerHTML; | |
| li.appendChild(a); | |
| scrollspy.appendChild(li); | |
| } | |
| } else { | |
| scrollspy.parentElement.removeChild(scrollspy) | |
| } | |
| /* Add permanent link next to the headers */ | |
| var headers = document.querySelectorAll("h1, h2, h3, h4, h5, h6"); | |
| for(var i = 0; i < headers.length; i++) { | |
| var a = document.createElement("a"); | |
| a.setAttribute("class", "headerlink"); | |
| a.setAttribute("href", "#" + headers[i].id); | |
| a.setAttribute("title", "Permanent link"); | |
| a.innerHTML = "#"; | |
| headers[i].appendChild(a); | |
| } | |
| } | |
| </script> | |
| <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.8.0/highlight.min.js"></script> | |
| <script>hljs.initHighlightingOnLoad();</script> | |
| </body> | |
| </html> | |