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> |