Compare commits
81 Commits
Author | SHA1 | Date | |
---|---|---|---|
c9b0009cd3 | |||
3e58b1c7c6 | |||
08515255bb | |||
4cfd049e0c | |||
0472feeaeb | |||
d8b1f5cf83 | |||
bc05ac5ce8 | |||
5e58389bbe | |||
2cef721039 | |||
1e5677e7b3 | |||
a16aa527e0 | |||
8a3ebe4edd | |||
3754370601 | |||
98e9bb7ccd | |||
d15e063c92 | |||
be3ae65d72 | |||
b75e5ef366 | |||
fd35505647 | |||
c77d2bf370 | |||
28439a4b57 | |||
7d68fdf34e | |||
8a0beb0748 | |||
54440f3d87 | |||
c3690d0ad0 | |||
469b9cda79 | |||
274939af46 | |||
edd645a222 | |||
bf3972cf55 | |||
3b581d1e11 | |||
d4f83ecdda | |||
b369197763 | |||
52cde0c4d9 | |||
e118fab8c6 | |||
b6fe7e1b36 | |||
9b264755ab | |||
11d6f9a1ec | |||
fecbcdde64 | |||
9e1d21931e | |||
81ef1f1fd9 | |||
9fa5bee1ee | |||
36099654b4 | |||
99bb05ee51 | |||
a020d12a2e | |||
f393560c78 | |||
258de44568 | |||
02b846642e | |||
7f05f5da84 | |||
a818bf8aeb | |||
d182b93d65 | |||
875da4bc76 | |||
3b2729f9bf | |||
d309093c77 | |||
78544b9c7a | |||
0b80f1b2ac | |||
094fa46f80 | |||
7c8e796611 | |||
30188f8aeb | |||
f829160720 | |||
755ddd2d77 | |||
9fbcb625d3 | |||
5ef828500b | |||
a763bc61a0 | |||
860d5c722e | |||
b370777bd4 | |||
4f280ebd13 | |||
4e10028f65 | |||
bb44e89699 | |||
2ad5215865 | |||
e60bf4dae8 | |||
d44f8d7959 | |||
33cad48fed | |||
79e0128d30 | |||
24531b63b0 | |||
a7d2b34f8b | |||
1089942cc3 | |||
f443d220c6 | |||
52866e8aa5 | |||
50cb638732 | |||
67470d22f4 | |||
5a3f5a1a72 | |||
3cdcc3738b |
21
.gitignore
vendored
21
.gitignore
vendored
@ -1 +1,22 @@
|
||||
.nogit/
|
||||
|
||||
# artifacts
|
||||
coverage/
|
||||
public/
|
||||
pages/
|
||||
|
||||
# installs
|
||||
node_modules/
|
||||
|
||||
# caches
|
||||
.yarn/
|
||||
.cache/
|
||||
.rpt2_cache
|
||||
|
||||
# builds
|
||||
dist/
|
||||
dist_web/
|
||||
dist_serve/
|
||||
dist_ts_web/
|
||||
|
||||
# custom
|
101
.gitlab-ci.yml
101
.gitlab-ci.yml
@ -1,77 +1,52 @@
|
||||
# gitzone docker
|
||||
image: hosttoday/ht-docker-dbase:npmci
|
||||
services:
|
||||
- docker:dind
|
||||
# gitzone ci_docker
|
||||
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
|
||||
|
||||
stages:
|
||||
- buildAndTest
|
||||
- triggerPagesVerify
|
||||
cache:
|
||||
paths:
|
||||
- .npmci-cache/
|
||||
key: "$CI_BUILD_STAGE"
|
||||
|
||||
before_script:
|
||||
- npm install -g @shipzone/npmci
|
||||
- npmci npm prepare
|
||||
|
||||
stages:
|
||||
- test
|
||||
- release
|
||||
- trigger
|
||||
- pages
|
||||
|
||||
testStable:
|
||||
stage: test
|
||||
script:
|
||||
- npmci node install stable
|
||||
- npmci npm install
|
||||
- npmci npm test
|
||||
coverage: /\d+.?\d+?\%\s*coverage/
|
||||
tags:
|
||||
- docker
|
||||
|
||||
release:
|
||||
image: registry.gitlab.com/hosttoday/ht-docker-dbase:npmci
|
||||
services:
|
||||
- docker:stable-dind
|
||||
stage: release
|
||||
script:
|
||||
- npmci node install lts
|
||||
- npmci docker login
|
||||
|
||||
buildTest:
|
||||
stage: buildAndTest
|
||||
script:
|
||||
- npmci docker build
|
||||
- npmci docker test
|
||||
except:
|
||||
- tags
|
||||
- triggers
|
||||
tags:
|
||||
- lossless
|
||||
- priv
|
||||
|
||||
buildTestRelase:
|
||||
stage: buildAndTest
|
||||
script:
|
||||
- npmci docker build
|
||||
- npmci docker test
|
||||
- npmci docker push registry.gitlab.com test
|
||||
- npmci docker push registry.gitlab.com
|
||||
- npmci docker push docker.io
|
||||
- npmci docker build
|
||||
- npmci docker test
|
||||
- npmci docker push registry.gitlab.com
|
||||
only:
|
||||
- tags
|
||||
- triggers
|
||||
- tags
|
||||
tags:
|
||||
- lossless
|
||||
- priv
|
||||
- docker
|
||||
- priv
|
||||
|
||||
trigger:
|
||||
stage: triggerPagesVerify
|
||||
stage: trigger
|
||||
script:
|
||||
- npmci trigger
|
||||
only:
|
||||
- tags
|
||||
- triggers
|
||||
tags:
|
||||
- lossless
|
||||
- priv
|
||||
|
||||
pages:
|
||||
stage: triggerPagesVerify
|
||||
before_script:
|
||||
- 'npmci -v'
|
||||
image: hosttoday/ht-docker-node:npmci
|
||||
script:
|
||||
# - npmci command npm install -g npmpage
|
||||
# - npmci command npmpage
|
||||
- echo "nothing here yet until @gitzone/npmpage is ready!"
|
||||
only:
|
||||
- tags
|
||||
tags:
|
||||
- docker
|
||||
artifacts:
|
||||
expire_in: 1 week
|
||||
paths:
|
||||
- public
|
||||
|
||||
verify:
|
||||
stage: triggerPagesVerify
|
||||
script:
|
||||
- npmci docker pull registry.gitlab.com test
|
||||
only:
|
||||
- tags
|
||||
tags:
|
||||
- docker
|
39
Dockerfile
39
Dockerfile
@ -3,7 +3,7 @@ LABEL author="Lossless GmbH <hello@lossless.com>"
|
||||
|
||||
WORKDIR /workspace
|
||||
# important environment variables
|
||||
ENV NODE_VERSION_LTS="10.13.0" NODE_VERSION_STABLE="11.2.0" NVM_DIR="/usr/local/nvm"
|
||||
ENV NODE_VERSION_LTS="10.16.3" NODE_VERSION_STABLE="12.8.1" NVM_DIR="/usr/local/nvm"
|
||||
|
||||
# Set debconf to run non-interactively and install packages
|
||||
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections \
|
||||
@ -24,6 +24,43 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio
|
||||
rsync \
|
||||
ssh \
|
||||
wget \
|
||||
gconf-service \
|
||||
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 clean \
|
||||
&& rm -r /var/lib/apt/lists/*
|
||||
|
4
Dockerfile_alpine
Normal file
4
Dockerfile_alpine
Normal file
@ -0,0 +1,4 @@
|
||||
FROM node:12.8.1-alpine
|
||||
LABEL author="Lossless GmbH <hello@lossless.com>"
|
||||
RUN apk update && apk add bash libc6-compat
|
||||
ENV NODE_OPTIONS="--max_old_space_size=1000"
|
@ -1,19 +0,0 @@
|
||||
FROM hosttoday/ht-docker-node:stable
|
||||
LABEL author="Lossless GmbH <hello@lossless.com>"
|
||||
|
||||
# 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
|
12
Dockerfile_iot
Normal file
12
Dockerfile_iot
Normal file
@ -0,0 +1,12 @@
|
||||
FROM hosttoday/ht-docker-node:latest as stage1
|
||||
LABEL author="Lossless GmbH <hello@lossless.com>"
|
||||
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
|
||||
|
@ -1,14 +0,0 @@
|
||||
FROM hosttoday/ht-docker-node:npmci
|
||||
LABEL author="Lossless GmbH <hello@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
|
@ -1,4 +0,0 @@
|
||||
FROM hosttoday/ht-docker-node:stable
|
||||
LABEL author="Lossless GmbH <hello@lossless.com>"
|
||||
|
||||
RUN npm install -g @shipzone/npmci @gitzone/npmdocker @gitzone/npmts ts-node
|
@ -1,3 +0,0 @@
|
||||
FROM node:11.3.0-alpine
|
||||
LABEL author="Lossless GmbH <hello@lossless.com>"
|
||||
RUN apk update && apk add bash && apk cache clean
|
4
Dockerfile_tsdocker
Normal file
4
Dockerfile_tsdocker
Normal file
@ -0,0 +1,4 @@
|
||||
FROM hosttoday/ht-docker-node:lts
|
||||
LABEL author="Lossless GmbH <hello@lossless.com>"
|
||||
|
||||
RUN npm install -g @shipzone/npmci @gitzone/tsdocker @gitzone/tsrun
|
2
LICENSE
2
LICENSE
@ -1,6 +1,6 @@
|
||||
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
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
18
npmextra.json
Normal file
18
npmextra.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"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": {
|
||||
"dockerRegistries": [
|
||||
"docker.io",
|
||||
"registry.gitlab.com"
|
||||
]
|
||||
}
|
||||
}
|
24
package.json
24
package.json
@ -1,10 +1,11 @@
|
||||
{
|
||||
"name": "ht-docker-node",
|
||||
"version": "5.0.3",
|
||||
"description": "docker image with nodejs with shipzone.io support",
|
||||
"version": "5.0.47",
|
||||
"description": "docker image with nodejs and shipzone.io support",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
"test": "echo \"no npm test specified\"",
|
||||
"build": "echo \"Not needed for now\""
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@ -15,5 +16,20 @@
|
||||
"bugs": {
|
||||
"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/*",
|
||||
"dist_ts_web/*",
|
||||
"assets/*",
|
||||
"cli.js",
|
||||
"npmextra.json",
|
||||
"readme.md"
|
||||
],
|
||||
"directories": {
|
||||
"test": "test"
|
||||
}
|
||||
}
|
||||
|
57
readme.md
57
readme.md
@ -1,18 +1,23 @@
|
||||
# ht-docker-node
|
||||
the ultimate docker node image
|
||||
# @hosttoday/ht-docker-node
|
||||
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
|
||||
[](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
|
||||
[](https://gitlab.com/hosttoday/ht-docker-node/commits/master)
|
||||
[](https://www.npmjs.com/package/@hosttoday/ht-docker-node)
|
||||
[](https://snyk.io/test/npm/@hosttoday/ht-docker-node)
|
||||
[](https://nodejs.org/dist/latest-v10.x/docs/api/)
|
||||
[](https://nodejs.org/dist/latest-v10.x/docs/api/)
|
||||
[](https://prettier.io/)
|
||||
|
||||
## 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.
|
||||
|
||||
@ -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
|
||||
```
|
||||
|
||||
## Flavour Overview:
|
||||
## Availability
|
||||
|
||||
* **: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
|
||||
| Registry | Image Path |
|
||||
| --------------- | -------------------------------------------- |
|
||||
| GitLab Registry | registry.gitlab.com/hosttoday/ht-docker-node |
|
||||
| Docker Hub | hosttoday/ht-docker-node |
|
||||
|
||||
## 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.
|
||||
|
||||
> MIT licensed | **©** [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)
|
||||
|
||||
[](https://host.today)
|
||||
|
||||
For further information read the linked docs at the top of this readme.
|
||||
|
||||
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
|
||||
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy)
|
||||
|
||||
[](https://maintainedby.lossless.com)
|
||||
|
@ -1,2 +1 @@
|
||||
#!/bin/sh
|
||||
echo "this runs within latest container!";
|
||||
|
@ -1,9 +1,10 @@
|
||||
# check if npmci is available
|
||||
npm init -y
|
||||
npmci -v
|
||||
|
||||
# check if we can use lts
|
||||
npmci install lts
|
||||
# TODO update npmci to not require package.json
|
||||
npmci node install stable
|
||||
|
||||
# check if npm picks it up
|
||||
npmci command npm install -g npmts
|
||||
npmci command npmts -v
|
||||
npmci command npm install -g @gitzone/tsrun
|
||||
npmci command tsrun -v
|
||||
|
@ -1 +0,0 @@
|
||||
mkdocs --version
|
@ -1,3 +1,5 @@
|
||||
# npm
|
||||
npm install -g npmts
|
||||
npmts -v
|
||||
npm -v
|
||||
node -v
|
||||
npm install -g @gitzone/tsrun
|
||||
# tsrun -v
|
17
tslint.json
Normal file
17
tslint.json
Normal 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"
|
||||
}
|
Reference in New Issue
Block a user