Compare commits

...

81 Commits

Author SHA1 Message Date
99bb05ee51 5.0.24 2019-06-18 17:26:52 +02:00
a020d12a2e fix(core): update 2019-06-18 17:26:51 +02:00
f393560c78 5.0.23 2019-06-18 17:25:34 +02:00
258de44568 fix(core): update 2019-06-18 17:25:34 +02:00
02b846642e 5.0.22 2019-06-10 11:37:24 +02:00
7f05f5da84 fix(core): update 2019-06-10 11:37:24 +02:00
a818bf8aeb 5.0.21 2019-06-10 11:35:56 +02:00
d182b93d65 fix(core): update 2019-06-10 11:35:56 +02:00
875da4bc76 5.0.20 2019-06-10 11:31:48 +02:00
3b2729f9bf fix(core): update 2019-06-10 11:31:47 +02:00
d309093c77 5.0.19 2019-06-10 11:05:43 +02:00
78544b9c7a fix(core): update 2019-06-10 11:05:42 +02:00
0b80f1b2ac 5.0.18 2019-06-10 10:58:01 +02:00
094fa46f80 fix(core): update 2019-06-10 10:58:01 +02:00
7c8e796611 5.0.17 2019-06-10 10:56:41 +02:00
30188f8aeb 5.0.16 2019-06-10 10:51:20 +02:00
f829160720 fix(core): update 2019-06-10 10:51:19 +02:00
755ddd2d77 5.0.15 2019-06-10 10:43:23 +02:00
9fbcb625d3 fix(core): update 2019-06-10 10:43:22 +02:00
5ef828500b 5.0.14 2019-06-08 21:36:23 +02:00
a763bc61a0 fix(core): update 2019-06-08 21:36:23 +02:00
860d5c722e 5.0.13 2019-06-03 13:15:48 +02:00
b370777bd4 fix(core): update 2019-06-03 13:15:48 +02:00
4f280ebd13 5.0.12 2019-05-29 20:04:06 +02:00
4e10028f65 fix(core): update 2019-05-29 20:04:06 +02:00
bb44e89699 5.0.11 2019-05-08 23:17:11 +02:00
2ad5215865 fix(core): update 2019-05-08 23:17:11 +02:00
e60bf4dae8 5.0.10 2019-05-08 22:27:59 +02:00
d44f8d7959 fix(core): update 2019-05-08 22:27:59 +02:00
33cad48fed 5.0.9 2018-12-24 01:53:51 +01:00
79e0128d30 fix(core): update 2018-12-24 01:53:51 +01:00
24531b63b0 5.0.8 2018-12-01 15:36:33 +01:00
a7d2b34f8b 5.0.7 2018-11-29 11:06:53 +01:00
1089942cc3 fix(core): update 2018-11-29 11:06:53 +01:00
f443d220c6 5.0.6 2018-11-29 10:57:30 +01:00
52866e8aa5 fix(tests): remove npmts from tests 2018-11-29 10:57:30 +01:00
50cb638732 5.0.5 2018-11-29 10:49:50 +01:00
67470d22f4 fix(core): update 2018-11-29 10:49:50 +01:00
5a3f5a1a72 5.0.4 2018-11-29 08:03:22 +01:00
3cdcc3738b fix(core): update 2018-11-29 08:03:21 +01:00
d2c8e2b51e 5.0.3 2018-11-28 23:31:14 +01:00
b69c781c4d fix(core): update 2018-11-28 23:31:14 +01:00
7bc8cb3f51 5.0.2 2018-11-28 22:37:04 +01:00
1ce4382885 fix(core): update 2018-11-28 22:37:03 +01:00
e9ff80ceae 5.0.1 2018-11-26 20:36:04 +01:00
32ceafbd59 fix(node versions): update 2018-11-26 20:36:03 +01:00
1acbe775fc 5.0.0 2018-07-16 00:16:12 +02:00
98f9724739 4.3.69 2018-07-16 00:15:36 +02:00
a93ee5a185 4.3.68 2018-07-02 23:02:51 +02:00
90bae2fce4 fix(core): update node versions 2018-07-02 23:02:51 +02:00
ae30ceec26 4.3.67 2018-05-27 13:33:19 +02:00
f1426931fa fix(tests): fis test that did not make sense 2018-05-27 13:33:19 +02:00
097a741488 4.3.66 2018-05-27 13:21:50 +02:00
9d62eab807 fix(dependencies): update to scoped versions of npmci and npmdocker 2018-05-27 13:21:49 +02:00
baeb46ed81 4.3.65 2018-05-27 13:18:51 +02:00
ddd4970762 remove yarn 2018-05-27 13:18:17 +02:00
04659b9344 4.3.64 2018-05-16 18:05:56 +02:00
0ad9c4fcd3 fix(core): add default workspace directory 2018-05-16 18:05:55 +02:00
43063e3507 4.3.63 2018-05-16 01:37:59 +02:00
02ea32961b fix(core): cleanup 2018-05-16 01:37:59 +02:00
c5365798b6 4.3.62 2018-05-16 01:31:41 +02:00
184e13b91e fix(:chrome): update 2018-05-16 01:31:40 +02:00
a1f5bbb6f0 4.3.61 2018-05-16 01:08:52 +02:00
21189adb66 fix(:chrome): fix 2018-05-16 01:08:52 +02:00
4bd28a3a54 4.3.60 2018-05-16 01:00:22 +02:00
b48aa0e077 fix(:chrome): docker tag :chrome is now working with sandboxing 2018-05-16 01:00:21 +02:00
95f4b0b8e4 4.3.59 2018-04-29 17:17:44 +02:00
bb1db7e9a8 remove npmpage 2018-04-29 17:17:40 +02:00
12a9413444 4.3.58 2018-04-29 17:05:05 +02:00
69d937edb0 update to latest standards 2018-04-29 17:04:56 +02:00
4953e7b345 4.3.57 2018-04-10 13:47:24 +02:00
c04e941274 update ci 2018-04-10 13:47:18 +02:00
dfadb7e1f2 4.3.56 2018-04-10 13:45:01 +02:00
1932695c81 add verify step 2018-04-10 13:44:54 +02:00
8f914cbf47 4.3.55 2018-04-09 18:47:33 +02:00
7b390fd1da update ci to put less strain on network 2018-04-09 18:47:28 +02:00
0eb7a24dcd 4.3.54 2018-04-09 17:33:02 +02:00
fe2452111e update 2018-04-09 17:32:52 +02:00
84930b7c3e 4.3.53 2018-01-31 19:27:26 +01:00
cb99fd28d0 remove obsolete 2018-01-31 19:27:07 +01:00
4f557b6a08 slim down the base image 2018-01-31 19:23:52 +01:00
23 changed files with 208 additions and 637 deletions

21
.gitignore vendored
View File

@ -1 +1,22 @@
.nogit/
# artifacts
coverage/
public/
pages/
# installs
node_modules/ node_modules/
# caches
.yarn/
.cache/
.rpt2_cache
# builds
dist/
dist_web/
dist_serve/
dist_ts_web/
# custom

View File

@ -1,97 +1,52 @@
# gitzone docker # gitzone ci_docker
image: hosttoday/ht-docker-dbase:npmci image: hosttoday/ht-docker-node:npmci
services:
- docker:dind
variables:
DOCKER_DRIVER: overlay
cache:
stages: paths:
- buildAndTest - .npmci-cache/
- build key: "$CI_BUILD_STAGE"
- test
- release
- trigger
- pages
before_script: before_script:
- yarn global add npmci - npmci npm prepare
- npmci docker login
buildAndTest: stages:
stage: buildAndTest - test
script: - release
- npmci docker build - trigger
- npmci docker test - pages
except:
- tags
- triggers
tags:
- lossless
- priv
build: testSTABLE:
stage: build
script:
- npmci docker build
- npmci docker push registry.gitlab.com test
only:
- tags
- triggers
tags:
- lossless
- priv
test:
stage: test stage: test
script: script:
- npmci docker pull registry.gitlab.com test - npmci node install stable
- npmci docker test - npmci npm install
only: - npmci npm test
- tags coverage: /\d+.?\d+?\%\s*coverage/
- triggers
tags: tags:
- lossless - docker
- priv
release: release:
image: hosttoday/ht-docker-dbase:npmci
services:
- docker:dind
stage: release stage: release
script: script:
- npmci docker pull registry.gitlab.com test - npmci node install stable
- npmci docker push docker.io - npmci docker login
- npmci docker build
- npmci docker test
- npmci docker push registry.gitlab.com - npmci docker push registry.gitlab.com
only: only:
- tags - tags
- triggers
tags: tags:
- lossless - docker
- priv - priv
trigger: trigger:
stage: trigger stage: trigger
script: script:
- npmci trigger - npmci trigger
only:
- tags
- triggers
tags:
- lossless
- 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: only:
- tags - tags
tags: tags:
- docker - docker
artifacts:
expire_in: 1 week
paths:
- public

View File

@ -1,8 +1,9 @@
FROM ubuntu:xenial FROM ubuntu:xenial
LABEL author="Lossless GmbH <office@lossless.com>" LABEL author="Lossless GmbH <hello@lossless.com>"
WORKDIR /workspace
# important environment variables # important environment variables
ENV NODE_VERSION_LTS="8.9.3" NODE_VERSION_STABLE="9.3.0" NVM_DIR="/usr/local/nvm" ENV NODE_VERSION_LTS="10.16.0" NODE_VERSION_STABLE="12.4.0" 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 \
@ -23,29 +24,46 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio
rsync \ rsync \
ssh \ ssh \
wget \ wget \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ gconf-service \
&& echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ libasound2 \
libatk1.0-0 \
libatk-bridge2.0-0 \
libc6 \
libcairo2 \
libcups2 \
libdbus-1-3 \
libexpat1 \
libfontconfig1 \
libgcc1 \
libgconf-2-4 \
libgdk-pixbuf2.0-0 \
libglib2.0-0 \
libgtk-3-0 \
libnspr4 \
libpango-1.0-0 \
libpangocairo-1.0-0 \
libstdc++6 \
libx11-6 \
libx11-xcb1 \
libxcb1 \
libxcomposite1 \
libxcursor1 \
libxdamage1 \
libxext6 \
libxfixes3 \
libxi6 \
libxrandr2 \
libxrender1 \
libxss1 \
libxtst6 \
fonts-liberation \
libappindicator1 \
libnss3 \
lsb-release \
xdg-utils \
&& apt-get update \ && 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/*
# See https://crbug.com/795759
RUN apt-get update && apt-get install -yq libgconf-2-4 \
&& apt-get clean \
&& rm -r /var/lib/apt/lists/*
# Install latest chrome dev package.
# Note: this installs the necessary libs to make the bundled version of Chromium that Puppeteer
# installs, work.
RUN apt-get update && apt-get install -y wget --no-install-recommends \
&& wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
&& sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \
&& apt-get update \
&& apt-get install -y google-chrome-unstable \
--no-install-recommends \
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /src/*.deb
# Install nvm with node and npm # Install nvm with node and npm
RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

3
Dockerfile_alpine Normal file
View File

@ -0,0 +1,3 @@
FROM node:11.3.0-alpine
LABEL author="Lossless GmbH <hello@lossless.com>"
RUN apk update && apk add bash libc6-compat

11
Dockerfile_iot Normal file
View File

@ -0,0 +1,11 @@
FROM hosttoday/ht-docker-node:latest as stage1
RUN apt-get update && apt-get install -y --no-install-recommends qemu-user-static binfmt-support
# the following lines need to be run on a system that supports both architectures
# update-binfmts --enable qemu-arm \
# && update-binfmts --display qemu-arm \
# && mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc \
# && echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm-static:' > /proc/sys/fs/binfmt_misc/register
FROM arm32v7/node:lts-jessie as stage2
COPY --from=stage1 /usr/bin/qemu-arm-static /usr/bin/qemu-arm-static

View File

@ -1,5 +1,5 @@
FROM hosttoday/ht-docker-node:latest FROM hosttoday/ht-docker-node:latest
LABEL author="Lossless GmbH <office@lossless.com>" LABEL author="Lossless GmbH <hello@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 \

View File

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

View File

@ -1,4 +1,4 @@
FROM hosttoday/ht-docker-node:stable FROM hosttoday/ht-docker-node:stable
LABEL author="Lossless GmbH <office@lossless.com>" LABEL author="Lossless GmbH <hello@lossless.com>"
RUN yarn global add npmci RUN npm install -g @shipzone/npmci

View File

@ -1,14 +0,0 @@
FROM hosttoday/ht-docker-node:npmci
LABEL author="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,4 +1,4 @@
FROM hosttoday/ht-docker-node:stable FROM hosttoday/ht-docker-node:stable
LABEL author="Lossless GmbH <office@lossless.com>" LABEL author="Lossless GmbH <hello@lossless.com>"
RUN yarn global add npmci npmdocker npmts ts-node RUN npm install -g @shipzone/npmci @gitzone/tsdocker @gitzone/tsrun

View File

@ -1,21 +0,0 @@
FROM hosttoday/ht-docker-node:stable
LABEL author="Lossless GmbH <office@lossless.com>"
RUN apt-get update && apt-get install -y python-pip
RUN yarn global add npmpage
RUN pip install --upgrade pip \
&& pip install mkdocs \
&& mkdocs --version \
&& pip install mkdocs-material \
&& pip install pygments \
&& pip install pymdown-extensions
# Set working directory
WORKDIR /docs
# Expose MkDocs development server port
EXPOSE 8000
# Start development server by default
ENTRYPOINT ["mkdocs"]
CMD ["serve", "--dev-addr=0.0.0.0:8000"]

View File

@ -1,5 +1,5 @@
FROM hosttoday/ht-docker-node:latest FROM hosttoday/ht-docker-node:latest
LABEL author="Lossless GmbH <office@lossless.com>" LABEL author="Lossless GmbH <hello@lossless.com>"
RUN bash -c "source $NVM_DIR/nvm.sh \ RUN bash -c "source $NVM_DIR/nvm.sh \
&& nvm install $NODE_VERSION_STABLE \ && nvm install $NODE_VERSION_STABLE \

View File

@ -1,6 +1,6 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2016 Host.Today Copyright (c) 2016 Lossless GmbH
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@ -1,48 +0,0 @@
---
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)

13
npmextra.json Normal file
View File

@ -0,0 +1,13 @@
{
"gitzone": {
"module": {
"githost": "gitlab.com",
"gitscope": "hosttoday",
"gitrepo": "ht-docker-node",
"shortDescription": "docker image with nodejs and shipzone.io support",
"npmPackagename": "@hosttoday/ht-docker-node",
"license": "MIT"
}
},
"npmci": {}
}

View File

@ -1,10 +1,11 @@
{ {
"name": "ht-docker-node", "name": "ht-docker-node",
"version": "4.3.52", "version": "5.0.24",
"description": "docker image with nodejs with shipzone.io support", "description": "docker image with nodejs and shipzone.io support",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1" "test": "echo \"no npm test specified\"",
"build": "echo \"Not needed for now\""
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@ -15,5 +16,19 @@
"bugs": { "bugs": {
"url": "https://github.com/HostToday/ht-docker-node/issues" "url": "https://github.com/HostToday/ht-docker-node/issues"
}, },
"homepage": "https://github.com/HostToday/ht-docker-node#readme" "homepage": "https://github.com/HostToday/ht-docker-node#readme",
"private": true,
"files": [
"ts/*",
"ts_web/*",
"dist/*",
"dist_web/*",
"assets/*",
"cli.js",
"npmextra.json",
"readme.md"
],
"directories": {
"test": "test"
}
} }

View File

@ -1,411 +0,0 @@
<!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,18 +1,23 @@
# ht-docker-node # @hosttoday/ht-docker-node
the ultimate docker node image docker image with nodejs and shipzone.io support
## Status ## Availabililty and Links
* [npmjs.org (npm package)](https://www.npmjs.com/package/@hosttoday/ht-docker-node)
* [gitlab.com (source)](https://gitlab.com/hosttoday/ht-docker-node)
* [github.com (source mirror)](https://github.com/hosttoday/ht-docker-node)
* [docs (typedoc)](https://hosttoday.gitlab.io/ht-docker-node/)
## Status for master
[![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)
[![coverage report](https://gitlab.com/hosttoday/ht-docker-node/badges/master/coverage.svg)](https://gitlab.com/hosttoday/ht-docker-node/commits/master)
[Docs](https://hosttoday.gitlab.io/ht-docker-node/) [![npm downloads per month](https://img.shields.io/npm/dm/@hosttoday/ht-docker-node.svg)](https://www.npmjs.com/package/@hosttoday/ht-docker-node)
[![Known Vulnerabilities](https://snyk.io/test/npm/@hosttoday/ht-docker-node/badge.svg)](https://snyk.io/test/npm/@hosttoday/ht-docker-node)
## Availability [![TypeScript](https://img.shields.io/badge/TypeScript->=%203.x-blue.svg)](https://nodejs.org/dist/latest-v10.x/docs/api/)
Registry | Image Path [![node](https://img.shields.io/badge/node->=%2010.x.x-blue.svg)](https://nodejs.org/dist/latest-v10.x/docs/api/)
--- | --- [![JavaScript Style Guide](https://img.shields.io/badge/code%20style-prettier-ff69b4.svg)](https://prettier.io/)
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.
@ -23,18 +28,32 @@ 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 RUN npmci install [node_version_number] // this installs node using node and sets the default to the new node and npm versions
``` ```
## Flavour Overview: ## Availability
* **:lts** - node lts version, equals :latest | Registry | Image Path |
* **:stable** - node stable version | --------------- | -------------------------------------------- |
* **:npmci** - npmci preinstalled | GitLab Registry | registry.gitlab.com/hosttoday/ht-docker-node |
* **:npmts** - npmci + npmts preinstalled | Docker Hub | hosttoday/ht-docker-node |
* **:npmpage** - npmci + npmts + npmpage preinstalled
* **:mongo** - npmci + npmts + mongo ## Flavour Overview
- **:lts** - node lts version, equals :latest
- **:stable** - node stable version
- **:npmci** - npmci preinstalled
- **:npmts** - npmci + npmts preinstalled
- **:npmpage** - npmci + npmts + npmpage preinstalled
- **:mongo** - npmci + npmts + mongo
For further information read the linked docs at the top of this README. For further information read the linked docs at the top of this README.
> MIT licensed | **&copy;** [Lossless GmbH](https://lossless.gmbh) > MIT licensed | **&copy;** [Lossless GmbH](https://lossless.gmbh)
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html) > | 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) [![repo-footer](https://hosttoday.gitlab.io/assets/repo-footer.svg)](https://host.today)
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://maintainedby.lossless.com)

View File

@ -1,2 +1 @@
#!/bin/sh echo "this runs within latest container!";
yarn -v

View File

@ -4,6 +4,6 @@ npmci -v
# check if we can use lts # check if we can use lts
npmci install lts npmci install lts
# check if yarn picks it up # check if npm picks it up
npmci command yarn global add npmts npmci command npm install -g @gitzone/tsrun
npmci command npmts -v npmci command tsrun -v

View File

@ -1 +0,0 @@
mkdocs --version

View File

@ -1,3 +1,5 @@
# test yarn # npm
yarn global add npmts npm -v
npmts -v node -v
npm install -g @gitzone/tsrun
# tsrun -v

17
tslint.json Normal file
View File

@ -0,0 +1,17 @@
{
"extends": ["tslint:latest", "tslint-config-prettier"],
"rules": {
"semicolon": [true, "always"],
"no-console": false,
"ordered-imports": false,
"object-literal-sort-keys": false,
"member-ordering": {
"options":{
"order": [
"static-method"
]
}
}
},
"defaultSeverity": "warning"
}