411 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			411 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html>
 | |
| <html>
 | |
|   <head>
 | |
|     <title>Quicksite</title>
 | |
|     <link
 | |
|       href="https://fonts.googleapis.com/css?family=Roboto+Mono:300,400,700|Roboto+Slab:300,400,700|Roboto:300,400,700"
 | |
|       rel="stylesheet"
 | |
|     >
 | |
|     <style>
 | |
|       .menuBox {
 | |
|   box-shadow: 0px 0px 5px #CCCCCC;
 | |
|   margin: auto;
 | |
|   box-sizing: border-box;
 | |
|   margin-bottom: 70px;
 | |
|   margin-top: 0px;
 | |
|   width: 100%;
 | |
|   background: #2196F3;
 | |
|   position: fixed;
 | |
|   padding: 15px;
 | |
|   will-change: transform; }
 | |
|   .menuBox .menuItems {
 | |
|     text-align: right; }
 | |
|     .menuBox .menuItems a {
 | |
|       display: inline-block;
 | |
|       padding: 0px 10px;
 | |
|       border-right: 1px #fff solid;
 | |
|       font-size: 15px;
 | |
|       font-weight: 400;
 | |
|       letter-spacing: 1px;
 | |
|       text-transform: uppercase;
 | |
|       text-decoration: none;
 | |
|       color: #fafafa; }
 | |
|       .menuBox .menuItems a:hover {
 | |
|         color: #fff; }
 | |
|       .menuBox .menuItems a:last-of-type {
 | |
|         border-right: none; }
 | |
| 
 | |
| h1,
 | |
| h2,
 | |
| h3,
 | |
| h4 {
 | |
|   margin: 1.414rem 0 .5rem;
 | |
|   font-weight: inherit;
 | |
|   font-family: 'Roboto Slab', serif;
 | |
|   line-height: 1.42;
 | |
|   text-align: center; }
 | |
| 
 | |
| h1 {
 | |
|   margin-top: 0;
 | |
|   font-size: 3.998rem; }
 | |
|   h1::after {
 | |
|     display: block;
 | |
|     margin: auto;
 | |
|     margin-top: 0px;
 | |
|     width: 200px;
 | |
|     border-top: 2px #e4002b solid;
 | |
|     content: ''; }
 | |
|   h1 + h2 {
 | |
|     font-weight: 300;
 | |
|     margin-top: 5px;
 | |
|     font-size: 25px; }
 | |
| 
 | |
| h2 {
 | |
|   font-size: 2.827rem; }
 | |
| 
 | |
| h3 {
 | |
|   font-size: 1.999rem; }
 | |
| 
 | |
| h4 {
 | |
|   font-size: 1.414rem; }
 | |
| 
 | |
| h5 {
 | |
|   font-size: 1.121rem; }
 | |
| 
 | |
| h6 {
 | |
|   font-size: .88rem; }
 | |
| 
 | |
| table {
 | |
|   -webkit-transition: all 0.3s ease;
 | |
|   -o-transition: all 0.3s ease;
 | |
|   transition: all 0.3s ease;
 | |
|   width: 100%;
 | |
|   margin-bottom: 2rem;
 | |
|   margin-left: 0px;
 | |
|   margin-right: 0px;
 | |
|   background-color: #fff;
 | |
|   box-shadow: 0px 0px 3px #ccc;
 | |
|   border-radius: 3px;
 | |
|   padding: 10px; }
 | |
|   @media screen and (min-width: 768px) {
 | |
|     table {
 | |
|       width: 768px; } }
 | |
|   @media screen and (min-width: 1200px) {
 | |
|     table {
 | |
|       width: 968px;
 | |
|       margin-left: -100px;
 | |
|       margin-right: -100px; } }
 | |
|   table thead tr,
 | |
|   table tbody tr,
 | |
|   table tfoot tr {
 | |
|     -webkit-transition: all 0.3s ease;
 | |
|     -o-transition: all 0.3s ease;
 | |
|     transition: all 0.3s ease; }
 | |
|     table thead tr th,
 | |
|     table thead tr td,
 | |
|     table tbody tr th,
 | |
|     table tbody tr td,
 | |
|     table tfoot tr th,
 | |
|     table tfoot tr td {
 | |
|       text-align: left;
 | |
|       padding: 10px;
 | |
|       vertical-align: top;
 | |
|       border-top: 0;
 | |
|       -webkit-transition: all 0.3s ease;
 | |
|       -o-transition: all 0.3s ease;
 | |
|       transition: all 0.3s ease; }
 | |
|   table thead tr th {
 | |
|     font-weight: 400;
 | |
|     color: #757575;
 | |
|     vertical-align: bottom;
 | |
|     border-bottom: 1px solid rgba(0, 0, 0, 0.12); }
 | |
|   table caption + thead tr:first-child th,
 | |
|   table caption + thead tr:first-child td,
 | |
|   table colgroup + thead tr:first-child th,
 | |
|   table colgroup + thead tr:first-child td,
 | |
|   table thead:first-child tr:first-child th,
 | |
|   table thead:first-child tr:first-child td {
 | |
|     border-top: 0; }
 | |
|   table tbody + tbody {
 | |
|     border-top: 1px solid rgba(0, 0, 0, 0.12); }
 | |
| 
 | |
| blockquote {
 | |
|   padding: 0px;
 | |
|   page-break-inside: avoid;
 | |
|   margin: 0;
 | |
|   border-left: 5px solid #7a7a7a;
 | |
|   font-style: italic;
 | |
|   text-align: left; }
 | |
|   blockquote p {
 | |
|     padding: 10px; }
 | |
| 
 | |
| table {
 | |
|   -webkit-transition: all 0.3s ease;
 | |
|   -o-transition: all 0.3s ease;
 | |
|   transition: all 0.3s ease;
 | |
|   width: 100%;
 | |
|   margin-bottom: 2rem;
 | |
|   margin-left: 0px;
 | |
|   margin-right: 0px;
 | |
|   background-color: #fff;
 | |
|   box-shadow: 0px 0px 3px #ccc;
 | |
|   border-radius: 3px;
 | |
|   padding: 10px; }
 | |
|   @media screen and (min-width: 768px) {
 | |
|     table {
 | |
|       width: 768px; } }
 | |
|   @media screen and (min-width: 1200px) {
 | |
|     table {
 | |
|       width: 968px;
 | |
|       margin-left: -100px;
 | |
|       margin-right: -100px; } }
 | |
|   table thead tr,
 | |
|   table tbody tr,
 | |
|   table tfoot tr {
 | |
|     -webkit-transition: all 0.3s ease;
 | |
|     -o-transition: all 0.3s ease;
 | |
|     transition: all 0.3s ease; }
 | |
|     table thead tr th,
 | |
|     table thead tr td,
 | |
|     table tbody tr th,
 | |
|     table tbody tr td,
 | |
|     table tfoot tr th,
 | |
|     table tfoot tr td {
 | |
|       text-align: left;
 | |
|       padding: 10px;
 | |
|       vertical-align: top;
 | |
|       border-top: 0;
 | |
|       -webkit-transition: all 0.3s ease;
 | |
|       -o-transition: all 0.3s ease;
 | |
|       transition: all 0.3s ease; }
 | |
|   table thead tr th {
 | |
|     font-weight: 400;
 | |
|     color: #757575;
 | |
|     vertical-align: bottom;
 | |
|     border-bottom: 1px solid rgba(0, 0, 0, 0.12); }
 | |
|   table caption + thead tr:first-child th,
 | |
|   table caption + thead tr:first-child td,
 | |
|   table colgroup + thead tr:first-child th,
 | |
|   table colgroup + thead tr:first-child td,
 | |
|   table thead:first-child tr:first-child th,
 | |
|   table thead:first-child tr:first-child td {
 | |
|     border-top: 0; }
 | |
|   table tbody + tbody {
 | |
|     border-top: 1px solid rgba(0, 0, 0, 0.12); }
 | |
| 
 | |
| .content {
 | |
|   margin: auto;
 | |
|   padding-top: 110px;
 | |
|   max-width: 768px; }
 | |
|   @media screen and (max-width: 808px) {
 | |
|     .content {
 | |
|       margin-left: 20px;
 | |
|       margin-right: 20px; } }
 | |
| 
 | |
| .footer {
 | |
|   border-top: 2px #333 solid;
 | |
|   margin: auto;
 | |
|   margin-top: 70px;
 | |
|   margin-bottom: 60px;
 | |
|   max-width: 768px; }
 | |
|   @media screen and (min-width: 500px) {
 | |
|     .footer .footerGridContainer {
 | |
|       margin-left: -20px;
 | |
|       margin-right: -20px; } }
 | |
|   .footer .footerGridContainer::after {
 | |
|     clear: both;
 | |
|     content: "";
 | |
|     display: block; }
 | |
|   .footer .footerGridContainer .footerColumn {
 | |
|     padding-top: 20px; }
 | |
|     @media screen and (min-width: 500px) {
 | |
|       .footer .footerGridContainer .footerColumn {
 | |
|         width: calc(33.33333% - 26.66667px);
 | |
|         float: left;
 | |
|         margin-left: 20px; } }
 | |
|     .footer .footerGridContainer .footerColumn h1 {
 | |
|       font-size: 14px;
 | |
|       font-weight: 700;
 | |
|       text-align: left;
 | |
|       text-transform: uppercase; }
 | |
|       .footer .footerGridContainer .footerColumn h1::after {
 | |
|         content: none; }
 | |
|     .footer .footerGridContainer .footerColumn a {
 | |
|       color: #333;
 | |
|       text-decoration: none;
 | |
|       display: block;
 | |
|       padding: 2px 10px 2px 10px;
 | |
|       border-left: #CCC 2px solid;
 | |
|       -webkit-transition: all 0.1s ease;
 | |
|       -o-transition: all 0.1s ease;
 | |
|       transition: all 0.1s ease; }
 | |
|       .footer .footerGridContainer .footerColumn a:hover {
 | |
|         border-left: 2px #e4002b solid;
 | |
|         background: #e8e8e8; }
 | |
|       .footer .footerGridContainer .footerColumn a + span {
 | |
|         -webkit-transition: all 0.1s ease;
 | |
|         -o-transition: all 0.1s ease;
 | |
|         transition: all 0.1s ease;
 | |
|         color: #666;
 | |
|         font-family: 'Roboto Mono', monospace;
 | |
|         font-weight: 400;
 | |
|         font-size: 10px;
 | |
|         display: block;
 | |
|         padding-left: 10px;
 | |
|         border-left: 2px #eee solid;
 | |
|         margin-bottom: 5px; }
 | |
|       .footer .footerGridContainer .footerColumn a:hover + span {
 | |
|         border-left: 2px #e4002b solid;
 | |
|         background: #f0f0f0; }
 | |
| 
 | |
| @media print {
 | |
|   *,
 | |
|   *:before,
 | |
|   *:after {
 | |
|     background: transparent !important;
 | |
|     color: #000 !important;
 | |
|     box-shadow: none !important;
 | |
|     text-shadow: none !important; }
 | |
|   a,
 | |
|   a:visited {
 | |
|     text-decoration: underline; }
 | |
|   a[href]:after {
 | |
|     content: " (" attr(href) ")"; }
 | |
|   abbr[title]:after {
 | |
|     content: " (" attr(title) ")"; }
 | |
|   a[href^="#"]:after,
 | |
|   a[href^="javascript:"]:after {
 | |
|     content: ""; }
 | |
|   pre {
 | |
|     border: 1px solid #999;
 | |
|     page-break-inside: avoid; }
 | |
|   thead {
 | |
|     display: table-header-group; }
 | |
|   tr {
 | |
|     page-break-inside: avoid; }
 | |
|   p,
 | |
|   h2,
 | |
|   h3 {
 | |
|     orphans: 3;
 | |
|     widows: 3; }
 | |
|   h2,
 | |
|   h3 {
 | |
|     page-break-after: avoid; } }
 | |
| 
 | |
| html {
 | |
|   font-size: 12px; }
 | |
| 
 | |
| @media screen and (min-width: 32rem) and (max-width: 48rem) {
 | |
|   html {
 | |
|     font-size: 15px; } }
 | |
| 
 | |
| @media screen and (min-width: 48rem) {
 | |
|   html {
 | |
|     font-size: 16px; } }
 | |
| 
 | |
| p {
 | |
|   font-size: 1rem;
 | |
|   margin-bottom: 1.3rem; }
 | |
| 
 | |
| small {
 | |
|   font-size: .707em; }
 | |
| 
 | |
| canvas,
 | |
| iframe,
 | |
| video,
 | |
| svg,
 | |
| select,
 | |
| textarea {
 | |
|   max-width: 100%; }
 | |
| 
 | |
| body {
 | |
|   color: #444;
 | |
|   font-family: 'Roboto', sans-serif;
 | |
|   font-weight: 300;
 | |
|   line-height: 1.85;
 | |
|   margin: 0px; }
 | |
| 
 | |
| a,
 | |
| a:visited {
 | |
|   color: #3498db; }
 | |
| 
 | |
| a:hover, a:focus, a:active {
 | |
|   color: #2980b9; }
 | |
| 
 | |
| pre {
 | |
|   background-color: #fafafa;
 | |
|   padding: 1rem;
 | |
|   text-align: left; }
 | |
| 
 | |
| ul,
 | |
| ol,
 | |
| li {
 | |
|   text-align: left; }
 | |
| 
 | |
| p {
 | |
|   color: #777; }
 | |
| 
 | |
|     </style>
 | |
|     <meta name="viewport" content="width=device-width, initial-scale=1">
 | |
|   </head>
 | |
|   <body>
 | |
|     <div class='menuBox'>
 | |
|       <div class='menuItems'>
 | |
|         <a href='./index.html'>index</a>
 | |
|       </div>
 | |
|     </div>
 | |
|     <div class='content'>
 | |
|       <h1 id="ht-docker-node">ht-docker-node</h1>
 | |
| <p>the ultimate docker node image</p>
 | |
| <h2 id="status">Status</h2>
 | |
| <p><a href="https://gitlab.com/hosttoday/ht-docker-node/commits/master"><img src="https://gitlab.com/hosttoday/ht-docker-node/badges/master/build.svg" alt="build status"></a></p>
 | |
| <h2 id="availability">Availability</h2>
 | |
| <table>
 | |
| <thead>
 | |
| <tr>
 | |
| <th>Registry</th>
 | |
| <th>Image Path</th>
 | |
| </tr>
 | |
| </thead>
 | |
| <tbody>
 | |
| <tr>
 | |
| <td>GitLab Registry</td>
 | |
| <td>registry.gitlab.com/hosttoday/ht-docker-node</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td>Docker Hub</td>
 | |
| <td>hosttoday/ht-docker-node</td>
 | |
| </tr>
 | |
| </tbody>
 | |
| </table>
 | |
| <h2 id="usage">Usage</h2>
 | |
| <p>The purpose of this Docker image is to provide a robust base for node apps and CI.
 | |
| It comes in different flavours and all of them have node, npm, git and ssh in PATH.</p>
 | |
| <p>The <strong>:npmci flavour</strong> has npmci in path and can install any required node version and update PATH accordingly:</p>
 | |
| <pre><code class="lang-Dockerfile">FROM hosttoday/ht-docker-<span class="hljs-keyword">node</span><span class="hljs-title">:npmci</span>
 | |
| RUN npmci install [node_version_number] // this installs <span class="hljs-keyword">node</span> <span class="hljs-title">using</span> <span class="hljs-keyword">node</span> <span class="hljs-title">and</span> sets the default to the new <span class="hljs-keyword">node</span> <span class="hljs-title">and</span> npm versions
 | |
| </code></pre>
 | |
| <h2 id="flavour-overview-">Flavour Overview:</h2>
 | |
| <ul>
 | |
| <li><strong>:lts</strong> - node lts version, equals :latest</li>
 | |
| <li><strong>:stable</strong> - node stable version</li>
 | |
| <li><strong>:npmci</strong> - npmci preinstalled</li>
 | |
| <li><strong>:npmts</strong> - npmci + npmts preinstalled</li>
 | |
| <li><strong>:npmpage</strong> - npmci + npmts + npmpage preinstalled</li>
 | |
| <li><strong>:mongo</strong> - npmci + npmts + mongo</li>
 | |
| </ul>
 | |
| <p>For further information read the linked docs at the top of this README.</p>
 | |
| <blockquote>
 | |
| <p>MIT licensed | <strong>©</strong> <a href="https://lossless.gmbh">Lossless GmbH</a>
 | |
| | By using this npm module you agree to our <a href="https://lossless.gmbH/privacy.html">privacy policy</a></p>
 | |
| </blockquote>
 | |
| <p><a href="https://host.today"><img src="https://hosttoday.gitlab.io/assets/repo-footer.svg" alt="repo-footer"></a></p>
 | |
| 
 | |
|       <div class='footer'>
 | |
|         <div class='footerGridContainer'>
 | |
|         </div>
 | |
|       </div>
 | |
|     </div>
 | |
|     
 | |
|   </body>
 | |
| </html> |