Compare commits

..

68 Commits

Author SHA1 Message Date
2fd11c91a0 4.3.26 2017-08-28 03:17:26 +02:00
46a0413e94 update ci 2017-08-28 03:17:22 +02:00
a0c9a52ec7 4.3.25 2017-08-28 02:25:48 +02:00
71d9d06ddd update ci 2017-08-28 02:25:05 +02:00
2e23e31bec 4.3.24 2017-08-28 01:59:50 +02:00
82bb2ccc5b Update .gitlab-ci.yml 2017-08-27 23:43:39 +00:00
a5f93beea5 Update .gitlab-ci.yml 2017-08-27 14:36:48 +00:00
6dd5406573 Update .gitlab-ci.yml 2017-08-26 08:57:50 +00:00
22c8f8dbf8 Update .gitlab-ci.yml 2017-08-26 08:46:39 +00:00
d8b582a18b Update .gitlab-ci.yml 2017-08-25 22:14:26 +00:00
d7fbededbd 4.3.23 2017-06-30 20:11:04 +02:00
afb3bba4ac update docs 2017-06-30 20:11:01 +02:00
20eac2bb4a 4.3.22 2017-06-30 19:35:59 +02:00
92e3f97efe update java 2017-06-30 19:23:26 +02:00
87081d5bb6 update 2017-06-30 19:12:55 +02:00
979f8fcd27 add wget 2017-06-30 17:13:37 +02:00
f827d8c36b fix permissions 2017-06-30 17:03:29 +02:00
020bca3347 add unsafe-perm support 2017-06-30 16:58:56 +02:00
e295440d11 4.3.21 2017-06-30 16:42:40 +02:00
a3b5bbc4d4 4.3.20 2017-06-30 16:42:27 +02:00
da26dc649d update 2017-06-30 16:42:20 +02:00
dc7b11c78d 4.3.19 2017-06-30 16:39:12 +02:00
c9b317372f update 2017-06-30 16:38:53 +02:00
c7bdbd3901 update ci 2017-06-30 16:22:53 +02:00
e07d31c2af 4.3.18 2017-06-30 16:19:48 +02:00
8ad139ba56 update maintainer 2017-06-30 16:18:55 +02:00
e7170565f4 Merge branch 'master' of gitlab.com:hosttoday/ht-docker-node 2017-06-30 16:18:25 +02:00
5e89b9a9a7 add java version 2017-06-30 16:18:17 +02:00
5cbf1489bd Update .gitlab-ci.yml 2017-05-15 16:39:32 +00:00
a83cc999c4 4.3.17 2017-04-02 23:45:38 +02:00
ada45c2db7 fix readme name 2017-04-02 23:45:20 +02:00
db439e3733 prefix 2017-04-02 23:45:07 +02:00
16ba6ab3d3 4.3.16 2017-04-02 23:00:14 +02:00
00631f769b fic ci 2017-04-02 23:00:10 +02:00
d110ef6a47 4.3.15 2017-04-02 22:59:03 +02:00
3d1161a799 fix ci pages 2017-04-02 22:59:00 +02:00
6e8f7ef602 4.3.14 2017-04-02 22:13:56 +02:00
b7ba47db18 update readme 2017-04-02 22:13:52 +02:00
d0d3e15922 4.3.13 2017-04-02 22:05:46 +02:00
9a845b8ec7 update ci with pages 2017-04-02 22:02:16 +02:00
75cc86d69f 4.3.12 2017-03-11 14:53:43 +01:00
9f872eb376 fix tests 2017-03-11 14:53:41 +01:00
15165235fd 4.3.11 2017-03-11 14:43:37 +01:00
9e23bf4811 fix tests 2017-03-11 14:43:34 +01:00
6bf5730895 4.3.10 2017-03-11 14:32:41 +01:00
0c733d3a90 update tests 2017-03-11 14:30:48 +01:00
1007880f8c 4.3.9 2017-03-11 14:29:37 +01:00
4ec2503671 update 2017-03-11 14:29:10 +01:00
b1814a60d5 4.3.8 2017-02-25 03:12:07 +01:00
aed0fee59f add mongo image 2017-02-25 02:10:23 +01:00
fc53a7e3f0 fix tests 2017-02-19 14:52:54 +01:00
6ee919ac34 4.3.7 2017-02-19 14:51:37 +01:00
1b8680edff update test 2017-02-18 23:51:09 +01:00
67f4456073 update tests 2017-02-18 23:32:59 +01:00
b2835bd220 improve tests 2017-02-18 23:01:07 +01:00
a0a2cc2eda update tests 2017-02-18 22:28:05 +01:00
e8c24d504c 4.3.6 2017-02-18 21:11:15 +01:00
866346a0a5 fix 2017-02-18 18:39:14 +01:00
04ea46f681 fix yarn install 2017-02-18 18:34:45 +01:00
cd858ae9fa fix curl 2017-02-18 18:29:27 +01:00
dc28ada99a add yarn 2017-02-18 18:26:19 +01:00
09c78e9577 update to latest node versions for base image 2016-11-18 00:54:35 +01:00
7525d1af5c 4.3.5 2016-08-31 12:48:35 +02:00
043651bfac removed python3 version 2016-08-31 12:47:57 +02:00
621fff81c3 4.3.4 2016-08-31 12:40:17 +02:00
b0e8ff164f added triggers to valid release criteria 2016-08-31 12:40:13 +02:00
21ce311be3 4.3.3 2016-08-31 00:15:44 +02:00
c030b94bc6 update to only publish on tags 2016-08-31 00:15:38 +02:00
20 changed files with 570 additions and 64 deletions

View File

@ -1,23 +1,27 @@
image: hosttoday/ht-docker-dbase # gitzone docker
image: hosttoday/ht-docker-dbase:npmci
services: services:
- docker:dind - docker:dind
variables:
DOCKER_DRIVER: overlay
stages: stages:
- build - build
- test - test
- release - release
- trigger - trigger
- pages
before_script: before_script:
- npm uninstall -g npmci - yarn global add npmci
- npm install -g npmci - npmci docker login
- npmci prepare docker
build: build:
stage: build stage: build
script: script:
- npmci build docker - npmci docker build
- npmci docker push registry.gitlab.com test
tags: tags:
- lossless - lossless
- priv - priv
@ -26,9 +30,8 @@ build:
test: test:
stage: test stage: test
script: script:
- npmci test docker - npmci docker pull registry.gitlab.com test
only: - npmci docker test
- master
tags: tags:
- lossless - lossless
- priv - priv
@ -36,9 +39,12 @@ test:
release: release:
stage: release stage: release
script: script:
- npmci publish docker - npmci docker pull registry.gitlab.com test
- npmci docker push docker.io
- npmci docker push registry.gitlab.com
only: only:
- master - tags
- triggers
tags: tags:
- lossless - lossless
- priv - priv
@ -48,7 +54,25 @@ trigger:
script: script:
- npmci trigger - npmci trigger
only: only:
- master - tags
- triggers
tags: tags:
- lossless - lossless
- priv - priv
pages:
before_script:
- 'npmci -v'
image: hosttoday/ht-docker-node:npmci
stage: pages
script:
- npmci command yarn global add npmpage
- npmci command npmpage
only:
- tags
tags:
- docker
artifacts:
expire_in: 1 week
paths:
- public

View File

@ -1,7 +1,8 @@
FROM ubuntu:latest FROM ubuntu:latest
MAINTAINER Lossless GmbH <office@lossless.com>
# important environment variables # important environment variables
ENV NODE_VERSION_LTS="4.4.7" NODE_VERSION_STABLE="6.3.0" NVM_DIR="/usr/local/nvm" ENV NODE_VERSION_LTS="6.10.0" NODE_VERSION_STABLE="8.1.3" NVM_DIR="/usr/local/nvm"
# Set debconf to run non-interactively and install packages # Set debconf to run non-interactively and install packages
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections \ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections \
@ -18,16 +19,13 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio
openssl \ openssl \
python \ python \
rsync \ rsync \
wget \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
&& echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
&& apt-get update \
&& apt-get install yarn -y \
&& apt-get clean \ && apt-get clean \
&& rm -r /var/lib/apt/lists/* && rm -r /var/lib/apt/lists/*
# Install nvm with node and npm # Install nvm with node and npm
RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash \ RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
&& bash -c "source $NVM_DIR/nvm.sh \
&& nvm install $NODE_VERSION_STABLE \
&& nvm alias default $NODE_VERSION_STABLE \
&& nvm use default \
&& npm install -g npm"
ENV NODE_PATH $NVM_DIR/v$NODE_VERSION_STABLE/lib/node_modules
ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION_STABLE/bin:$PATH

View File

@ -1,9 +1,11 @@
FROM hosttoday/ht-docker-node:latest FROM hosttoday/ht-docker-node:latest
MAINTAINER Lossless GmbH <office@lossless.com>
RUN bash -c "source $NVM_DIR/nvm.sh \ RUN bash -c "source $NVM_DIR/nvm.sh \
&& nvm install $NODE_VERSION_LTS \ && nvm install $NODE_VERSION_LTS \
&& nvm alias default $NODE_VERSION_LTS \ && nvm alias default $NODE_VERSION_LTS \
&& nvm use default \ && nvm use default \
&& npm config set unsafe-perm true \
&& npm install -g npm" && npm install -g npm"
ENV NODE_PATH $NVM_DIR/v$NODE_VERSION_LTS/lib/node_modules ENV NODE_PATH $NVM_DIR/v$NODE_VERSION_LTS/lib/node_modules

7
Dockerfile_mongo Normal file
View File

@ -0,0 +1,7 @@
FROM hosttoday/ht-docker-node:stable
MAINTAINER Lossless GmbH <office@lossless.com>
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 \
&& echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.2.list \
&& apt-get update \
&& apt-get install -y mongodb-org

View File

@ -1,2 +1,4 @@
FROM hosttoday/ht-docker-node:latest FROM hosttoday/ht-docker-node:stable
MAINTAINER Lossless GmbH <office@lossless.com>
RUN npm install -g npmci RUN npm install -g npmci

14
Dockerfile_npmcijava Normal file
View File

@ -0,0 +1,14 @@
FROM hosttoday/ht-docker-node:npmci
MAINTAINER Lossless GmbH <office@lossless.com>
# Install Java.
RUN \
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && \
add-apt-repository -y ppa:webupd8team/java && \
apt-get update && \
apt-get install -y oracle-java8-installer && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /var/cache/oracle-jdk8-installer
# Define commonly used JAVA_HOME variable
ENV JAVA_HOME /usr/lib/jvm/java-8-oracle

View File

@ -1,2 +0,0 @@
FROM hosttoday/ht-docker-node:npmci
RUN npm install -g npmdeploy

View File

@ -1,5 +0,0 @@
FROM hosttoday/ht-docker-node:npmts
RUN npmci install stable && npmci command npm install -g npmpage && npmci command npmpage -v \
&& npmci install legacy && npmci command npm install -g npmpage && npmci command npmpage -v \
&& npmci install lts && npmci command npm install -g npmpage && npmci command npmpage -v \
&& npmci clean

View File

@ -1,5 +0,0 @@
FROM hosttoday/ht-docker-node:npmci
RUN npmci install stable && npmci command npm install -g npm npmts && npmci command npmts -v \
&& npmci install legacy && npmci command npm install -g npm npmts && npmci command npmts -v \
&& npmci install lts && npmci command npm install -g npm npmts && npmci command npmts -v \
&& npmci clean

View File

@ -1,13 +0,0 @@
FROM hosttoday/ht-docker-node:latest
RUN apt-get update \
&& apt-get install -y -q --no-install-recommends \
python3 \
&& apt-get clean \
&& rm -r /var/lib/apt/lists/*
# Install pip and symlink python to python3
RUN curl -O https://bootstrap.pypa.io/get-pip.py \
&& python3 get-pip.py \
&& rm get-pip.py \
&& rm -r /usr/bin/python \
&& ln -s /usr/bin/python3 /usr/bin/python

View File

@ -1 +1,11 @@
FROM hosttoday/ht-docker-node:latest FROM hosttoday/ht-docker-node:latest
RUN bash -c "source $NVM_DIR/nvm.sh \
&& nvm install $NODE_VERSION_STABLE \
&& nvm alias default $NODE_VERSION_STABLE \
&& nvm use default \
&& npm config set unsafe-perm true \
&& npm install -g npm"
ENV NODE_PATH $NVM_DIR/v$NODE_VERSION_STABLE/lib/node_modules
ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION_STABLE/bin:$PATH

48
docs/index.md Normal file
View File

@ -0,0 +1,48 @@
---
name: ht-docker-node
description: the ultimate docker-node image
---
# ht-docker-node
the ultimate docker node image
## Status
[![build status](https://gitlab.com/hosttoday/ht-docker-node/badges/master/build.svg)](https://gitlab.com/hosttoday/ht-docker-node/commits/master)
## Availability
Registry | Image Path
--- | ---
GitLab Registry | registry.gitlab.com/hosttoday/ht-docker-node
Docker Hub | hosttoday/ht-docker-node
## Usage
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.
The **:npmci flavour** has npmci in path and can install any required node version and update PATH accordingly:
```Dockerfile
FROM hosttoday/ht-docker-node:npmci
RUN npmci install [node_version_number] // this installs node using node and sets the default to the new node and npm versions
```
## Flavour Overview:
* **:lts** - node lts version, equals :latest
* **:stable** - node stable version
* **:npmci** - npmci preinstalled
* **:npmcijava - npmci + java
* **:npmts** - npmci + npmts preinstalled
* **:npmpage** - npmci + npmts + npmpage preinstalled
* **:mongo** - npmci + npmts + mongo
## optimized for performance with npmci and npmts
Take a goof look at the **npmts** and **npmci** tools on npm. They make development of TypeScript node modules rediculouly easy :)
The **:npmcijava** flavour works together with **smartwebdriver** so you can test all your cool polymer elements in a headless chrome environment or sauce :)
For further information read the linked docs at the top of this README.
> MIT licensed | **&copy;** [Lossless GmbH](https://lossless.gmbh)
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
[![repo-footer](https://hosttoday.gitlab.io/assets/repo-footer.svg)](https://host.today)

1
node_modules/.yarn-integrity generated vendored Normal file
View File

@ -0,0 +1 @@
549854b8a60607db81d4c58008d59f812d744acba026266f380acd942941356a

View File

@ -1,6 +1,6 @@
{ {
"name": "ht-docker-node", "name": "ht-docker-node",
"version": "4.3.2", "version": "4.3.26",
"description": "docker image with nodejs with shipzone.io support", "description": "docker image with nodejs with shipzone.io support",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {

411
public/index.html Normal file
View File

@ -0,0 +1,411 @@
<!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>&copy;</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>

View File

@ -1,14 +1,17 @@
# ht-docker-node # ht-docker-node
the ultimate docker node image
This image is available on DockerHub. Specify it as base image like so:
```Dockerfile
FROM hosttoday/ht-docker-node
```
## Status ## Status
[![build status](https://gitlab.com/hosttoday/ht-docker-node/badges/master/build.svg)](https://gitlab.com/hosttoday/ht-docker-node/commits/master) [![build status](https://gitlab.com/hosttoday/ht-docker-node/badges/master/build.svg)](https://gitlab.com/hosttoday/ht-docker-node/commits/master)
[Docs](https://hosttoday.gitlab.io/ht-docker-node/)
## Availability
Registry | Image Path
--- | ---
GitLab Registry | registry.gitlab.com/hosttoday/ht-docker-node
Docker Hub | hosttoday/ht-docker-node
## Usage ## Usage
The purpose of this Docker image is to provide a robust base for node apps and CI. 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. It comes in different flavours and all of them have node, npm, git and ssh in PATH.
@ -27,4 +30,11 @@ RUN npmci install [node_version_number] // this installs node using node and set
* **:npmci** - npmci preinstalled * **:npmci** - npmci preinstalled
* **:npmts** - npmci + npmts preinstalled * **:npmts** - npmci + npmts preinstalled
* **:npmpage** - npmci + npmts + npmpage preinstalled * **:npmpage** - npmci + npmts + npmpage preinstalled
* **:python3** - like :latest, but with python3 as standard python version * **:mongo** - npmci + npmts + mongo
For further information read the linked docs at the top of this README.
> MIT licensed | **&copy;** [Lossless GmbH](https://lossless.gmbh)
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
[![repo-footer](https://hosttoday.gitlab.io/assets/repo-footer.svg)](https://host.today)

View File

@ -1,3 +1,2 @@
#!/bin/sh #!/bin/sh
npm -v yarn -v
node -v

View File

@ -1 +1,9 @@
# check if npmci is available
npmci -v npmci -v
# check if we can use lts
npmci install lts
# check if yarn picks it up
npmci command yarn global add npmts
npmci command npmts -v

View File

@ -1,6 +0,0 @@
npmci install stable
npmci command npmts -v
npmci install lts
npmci command npmts -v
npmci install legacy
npmci command npmts -v

3
test/test_stable.sh Normal file
View File

@ -0,0 +1,3 @@
# test yarn
yarn global add npmts
npmts -v