Compare commits
461 Commits
Author | SHA1 | Date | |
---|---|---|---|
5f64057cdb | |||
d84919c3e6 | |||
1db9b7978a | |||
ba19c565f6 | |||
bcdd4d2acb | |||
662b888a35 | |||
004ce39822 | |||
c1fb329671 | |||
c2813373aa | |||
617fa0f082 | |||
1a6c1fcdf3 | |||
5f5f24d07d | |||
2973032ead | |||
05f2b58bdf | |||
2c30a475a0 | |||
944d2b4407 | |||
2a4cd64634 | |||
0eb5bb0723 | |||
fefd97be8d | |||
2b65b6b1fe | |||
d76ea8564a | |||
f476d6c897 | |||
7a7aafec13 | |||
4184c17f2e | |||
af4ceea6d0 | |||
53962dc4c4 | |||
1687273fd2 | |||
d8bdab5b8d | |||
7a6f2f319e | |||
5160ed1348 | |||
b5e8ac3b59 | |||
bfb1b80180 | |||
3e0006f243 | |||
60e9a2a207 | |||
7422d9c146 | |||
5821c9f6e6 | |||
28746e0349 | |||
65cae1e013 | |||
39f8227d1e | |||
7831edc5f0 | |||
66699e8b07 | |||
d7dd21bd69 | |||
ad2fc45c8b | |||
02cdabd87b | |||
e704131949 | |||
c4b79e9d40 | |||
df97e0f010 | |||
1a7aa7b178 | |||
b1c1efce87 | |||
c399621989 | |||
e81806e9cc | |||
b7961e0cf4 | |||
2319975b25 | |||
c070b80cad | |||
aaace28106 | |||
7c4a71cd4c | |||
1c0837c509 | |||
1912e3c727 | |||
e758a35e0a | |||
5a3c7369d9 | |||
8b91eafe26 | |||
3ce538e94f | |||
00f0fae876 | |||
ebb82a445c | |||
7ec5a147c9 | |||
385780e50c | |||
b894a361bd | |||
f0747237cf | |||
89ba2f5a9f | |||
c295ad18be | |||
afad2c3654 | |||
409b0c60a1 | |||
feb57f1d36 | |||
80f0a0d9dc | |||
c2ba244375 | |||
f859d910b6 | |||
bc71510cd1 | |||
181b3643b1 | |||
85bee13ba9 | |||
74c60c8d4f | |||
0c5f20ed36 | |||
4066098153 | |||
a9fcf3c64e | |||
03cdeb1cd4 | |||
d4cf1b5bc7 | |||
5da58d1f18 | |||
ebd63262ab | |||
af16867f69 | |||
812979b0bf | |||
1864b4f0e1 | |||
12c95e4da9 | |||
9cf189b77b | |||
8669c3cc70 | |||
c005ac8995 | |||
594cbc119c | |||
df92a41d60 | |||
4b23a3aad8 | |||
e4da377993 | |||
80725b92f1 | |||
2aeb8f6546 | |||
f10bb7c18d | |||
6b494cdecb | |||
10eed74adf | |||
9014bf95e3 | |||
0b8fbfc343 | |||
b4480d73eb | |||
18fc2c673a | |||
8c8bf18610 | |||
304ab9fdbf | |||
2a917dbab4 | |||
7bfb232f63 | |||
6adc60f74c | |||
61ef4951f6 | |||
a24403304f | |||
4435fa2567 | |||
1155205cf7 | |||
8684837a7b | |||
87610140b6 | |||
512955eb0a | |||
a1dda00d41 | |||
0846f649d4 | |||
57b66c8172 | |||
939c168712 | |||
759754937c | |||
74b25307de | |||
22af5432db | |||
900c126a13 | |||
92fd3c36cf | |||
59db72f452 | |||
87b1c58e0f | |||
f751354a83 | |||
4586a2f34e | |||
ffd299114a | |||
df2cc6ccee | |||
847ff6aded | |||
dd40629f09 | |||
9f2d8ca700 | |||
5b6e13f3fd | |||
5f02b4707c | |||
a6c8f5c9fc | |||
934b1b7c2f | |||
cedebef214 | |||
96d8d43018 | |||
dcd581929b | |||
d2629cd453 | |||
b9070b3a35 | |||
25849cd990 | |||
8586b68bf7 | |||
9f7b61feeb | |||
ee58a43ed4 | |||
f1dc84f8a8 | |||
d5fa32786c | |||
cd4b629f07 | |||
eca7a18409 | |||
1e620394ac | |||
39b3d5df91 | |||
2b0cceb822 | |||
e25fb766d0 | |||
83f47a5d33 | |||
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 | |||
d2c8e2b51e | |||
b69c781c4d | |||
7bc8cb3f51 | |||
1ce4382885 | |||
e9ff80ceae | |||
32ceafbd59 | |||
1acbe775fc | |||
98f9724739 | |||
a93ee5a185 | |||
90bae2fce4 | |||
ae30ceec26 | |||
f1426931fa | |||
097a741488 | |||
9d62eab807 | |||
baeb46ed81 | |||
ddd4970762 | |||
04659b9344 | |||
0ad9c4fcd3 | |||
43063e3507 | |||
02ea32961b | |||
c5365798b6 | |||
184e13b91e | |||
a1f5bbb6f0 | |||
21189adb66 | |||
4bd28a3a54 | |||
b48aa0e077 | |||
95f4b0b8e4 | |||
bb1db7e9a8 | |||
12a9413444 | |||
69d937edb0 | |||
4953e7b345 | |||
c04e941274 | |||
dfadb7e1f2 | |||
1932695c81 | |||
8f914cbf47 | |||
7b390fd1da | |||
0eb7a24dcd | |||
fe2452111e | |||
84930b7c3e | |||
cb99fd28d0 | |||
4f557b6a08 | |||
ee1f86e7ab | |||
8a3b598f66 | |||
4ebce929f8 | |||
244ada778b | |||
b85de4bd9b | |||
3762558b58 | |||
c2bb8b18fd | |||
f147ef9b46 | |||
4b4e1bedcc | |||
87bb2843f5 | |||
0f541d3101 | |||
7aa6864a74 | |||
138e25843d | |||
40d0d6b73e | |||
9a7949ea87 | |||
ef46145028 | |||
0b5ff58b7b | |||
2756a4cf4e | |||
e4dce5cbc1 | |||
6b07d92d12 | |||
ae04ea4a41 | |||
2abed13111 | |||
14da195a62 | |||
bbe957a694 | |||
963ca3e5ff | |||
108ec46426 | |||
33ebe443bb | |||
90b2c7d5f3 | |||
d16ad9bf61 | |||
dd82475256 | |||
239bf6174d | |||
0ae1d77cb2 | |||
decc90e211 | |||
ae10a9eb98 | |||
ba780fd445 | |||
27e5fc58e9 | |||
db0ed5024d | |||
3da93c3cad | |||
66ba2a6641 | |||
002707729d | |||
4733cb523e | |||
ebc7b3758f | |||
414c51b618 | |||
37681614de | |||
82185516e2 | |||
48bf7e135d | |||
4b0851c8a1 | |||
9c48d3e7ec | |||
7945303e9f | |||
2d11efdcf9 | |||
5100b6b3b1 | |||
a8da4d3fd4 | |||
2fd11c91a0 | |||
46a0413e94 | |||
a0c9a52ec7 | |||
71d9d06ddd | |||
2e23e31bec | |||
82bb2ccc5b | |||
a5f93beea5 | |||
6dd5406573 | |||
22c8f8dbf8 | |||
d8b582a18b | |||
d7fbededbd | |||
afb3bba4ac | |||
20eac2bb4a | |||
92e3f97efe | |||
87081d5bb6 | |||
979f8fcd27 | |||
f827d8c36b | |||
020bca3347 | |||
e295440d11 | |||
a3b5bbc4d4 | |||
da26dc649d | |||
dc7b11c78d | |||
c9b317372f | |||
c7bdbd3901 | |||
e07d31c2af | |||
8ad139ba56 | |||
e7170565f4 | |||
5e89b9a9a7 | |||
5cbf1489bd | |||
a83cc999c4 | |||
ada45c2db7 | |||
db439e3733 | |||
16ba6ab3d3 | |||
00631f769b | |||
d110ef6a47 | |||
3d1161a799 | |||
6e8f7ef602 | |||
b7ba47db18 | |||
d0d3e15922 | |||
9a845b8ec7 | |||
75cc86d69f | |||
9f872eb376 | |||
15165235fd | |||
9e23bf4811 | |||
6bf5730895 | |||
0c733d3a90 | |||
1007880f8c | |||
4ec2503671 | |||
b1814a60d5 | |||
aed0fee59f | |||
fc53a7e3f0 | |||
6ee919ac34 | |||
1b8680edff | |||
67f4456073 | |||
b2835bd220 | |||
a0a2cc2eda | |||
e8c24d504c | |||
866346a0a5 | |||
04ea46f681 | |||
cd858ae9fa | |||
dc28ada99a | |||
09c78e9577 | |||
7525d1af5c | |||
043651bfac | |||
621fff81c3 | |||
b0e8ff164f | |||
21ce311be3 | |||
c030b94bc6 | |||
221fd422d6 | |||
04e29ffd5e | |||
bc58522b12 | |||
42760d7aeb | |||
a93e26ce98 | |||
a442040021 | |||
87678e9bf4 | |||
23a4df0c35 | |||
2fe58c23c3 | |||
40fa047c24 | |||
e8c45ba38b | |||
22adbef520 | |||
774a9a3e91 | |||
f829c38137 | |||
6f27262366 | |||
5ee60a65d6 | |||
97f371890b | |||
8630f4920d | |||
cefe591b2a | |||
87bc1f267a | |||
ced7c75cba | |||
371c7c11ea | |||
a112bba2e1 | |||
9aff193ef9 | |||
37e997ebf2 | |||
864ebf39a8 | |||
27b65ae64a | |||
cf8f10d032 | |||
9e10b04105 | |||
5d0fc29252 | |||
d27f9f11ae | |||
10bb62cc01 | |||
886211f908 | |||
e49776862e | |||
2c6ffe34fc | |||
56a1bc4e0f | |||
2d0bc35096 | |||
fc8de3e5d1 | |||
dfaf401f1b | |||
6ad80e7aa9 | |||
99c9645108 | |||
6499eedc7b | |||
4c75ba6e3f | |||
53c013da51 | |||
fd432a3f16 | |||
c8a92cc2e2 | |||
d6ac184f9f | |||
c8db76b050 | |||
c587638b90 | |||
e20c79b3ab | |||
ae78db3097 | |||
e5ad68e7ca | |||
6bd6665f63 | |||
19deb73114 | |||
e08088c520 | |||
30c57e2f3a | |||
c81f3446c2 | |||
b4e13ceffe | |||
b8d3094ad7 | |||
f3b85d94eb |
71
.gitea/workflows/docker_nottags.yaml
Normal file
71
.gitea/workflows/docker_nottags.yaml
Normal file
@ -0,0 +1,71 @@
|
||||
name: Docker (tags)
|
||||
|
||||
on:
|
||||
push:
|
||||
tags-ignore:
|
||||
- '**'
|
||||
|
||||
env:
|
||||
IMAGE: registry.gitlab.com/hosttoday/ht-docker-node:npmci
|
||||
NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@gitea.lossless.digital/${{gitea.repository}}.git
|
||||
NPMCI_TOKEN_NPM: ${{secrets.NPMCI_TOKEN_NPM}}
|
||||
NPMCI_TOKEN_NPM2: ${{secrets.NPMCI_TOKEN_NPM2}}
|
||||
NPMCI_GIT_GITHUBTOKEN: ${{secrets.NPMCI_GIT_GITHUBTOKEN}}
|
||||
NPMCI_LOGIN_DOCKER_GITEA: ${{ github.server_url }}|${{ gitea.repository_owner }}|${{ secrets.GITEA_TOKEN }}
|
||||
NPMCI_LOGIN_DOCKER_DOCKERREGISTRY: ${{ secrets.NPMCI_LOGIN_DOCKER_DOCKERREGISTRY }}
|
||||
|
||||
jobs:
|
||||
security:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ${{ env.IMAGE }}
|
||||
continue-on-error: true
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Install pnpm and npmci
|
||||
run: |
|
||||
pnpm install -g pnpm
|
||||
pnpm install -g @ship.zone/npmci
|
||||
npmci npm prepare
|
||||
|
||||
- name: Audit production dependencies
|
||||
run: |
|
||||
npmci command npm config set registry https://registry.npmjs.org
|
||||
npmci command pnpm audit --audit-level=high --prod
|
||||
continue-on-error: true
|
||||
|
||||
- name: Audit development dependencies
|
||||
run: |
|
||||
npmci command npm config set registry https://registry.npmjs.org
|
||||
npmci command pnpm audit --audit-level=high --dev
|
||||
continue-on-error: true
|
||||
|
||||
test:
|
||||
needs: security
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ${{ env.IMAGE }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Prepare
|
||||
run: |
|
||||
pnpm install -g pnpm
|
||||
pnpm install -g @ship.zone/npmci
|
||||
npmci npm prepare
|
||||
|
||||
- name: Test stable
|
||||
run: |
|
||||
npmci node install stable
|
||||
npmci npm install
|
||||
npmci npm test
|
||||
|
||||
- name: Test build
|
||||
run: |
|
||||
npmci npm prepare
|
||||
npmci node install stable
|
||||
npmci npm install
|
||||
npmci command npm run build
|
106
.gitea/workflows/docker_tags.yaml
Normal file
106
.gitea/workflows/docker_tags.yaml
Normal file
@ -0,0 +1,106 @@
|
||||
name: Docker (tags)
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '*'
|
||||
|
||||
env:
|
||||
IMAGE: registry.gitlab.com/hosttoday/ht-docker-node:npmci
|
||||
NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@gitea.lossless.digital/${{gitea.repository}}.git
|
||||
# NPMCI_TOKEN_NPM: ${{secrets.NPMCI_TOKEN_NPM}}
|
||||
# NPMCI_TOKEN_NPM2: ${{secrets.NPMCI_TOKEN_NPM2}}
|
||||
# NPMCI_GIT_GITHUBTOKEN: ${{secrets.NPMCI_GIT_GITHUBTOKEN}}
|
||||
NPMCI_LOGIN_DOCKER_GITEA: ${{ github.server_url }}|${{ gitea.repository_owner }}|${{ secrets.GITEA_TOKEN }}
|
||||
NPMCI_LOGIN_DOCKER_DOCKERREGISTRY: ${{ secrets.NPMCI_LOGIN_DOCKER_DOCKERREGISTRY }}
|
||||
|
||||
jobs:
|
||||
security:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ${{ env.IMAGE }}
|
||||
continue-on-error: true
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Prepare
|
||||
run: |
|
||||
pnpm install -g pnpm
|
||||
pnpm install -g @ship.zone/npmci
|
||||
npmci npm prepare
|
||||
|
||||
- name: Audit production dependencies
|
||||
run: |
|
||||
npmci command npm config set registry https://registry.npmjs.org
|
||||
npmci command pnpm audit --audit-level=high --prod
|
||||
continue-on-error: true
|
||||
|
||||
- name: Audit development dependencies
|
||||
run: |
|
||||
npmci command npm config set registry https://registry.npmjs.org
|
||||
npmci command pnpm audit --audit-level=high --dev
|
||||
continue-on-error: true
|
||||
|
||||
test:
|
||||
needs: security
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ${{ env.IMAGE }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Prepare
|
||||
run: |
|
||||
pnpm install -g pnpm
|
||||
pnpm install -g @ship.zone/npmci
|
||||
npmci npm prepare
|
||||
|
||||
- name: Test stable
|
||||
run: |
|
||||
npmci node install stable
|
||||
npmci npm install
|
||||
npmci npm test
|
||||
|
||||
- name: Test build
|
||||
run: |
|
||||
npmci node install stable
|
||||
npmci npm install
|
||||
npmci command npm run build
|
||||
|
||||
release:
|
||||
needs: test
|
||||
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: registry.gitlab.com/hosttoday/ht-docker-dbase:npmci
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Prepare
|
||||
run: |
|
||||
pnpm install -g pnpm
|
||||
pnpm install -g @ship.zone/npmci
|
||||
|
||||
- name: Release
|
||||
run: |
|
||||
npmci docker login
|
||||
npmci docker build
|
||||
npmci docker test
|
||||
# npmci docker push gitea.lossless.digital
|
||||
npmci docker push dockerregistry.lossless.digital
|
||||
|
||||
metadata:
|
||||
needs: test
|
||||
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ${{ env.IMAGE }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Trigger
|
||||
run: npmci trigger
|
23
.gitignore
vendored
23
.gitignore
vendored
@ -1 +1,22 @@
|
||||
.idea/
|
||||
.nogit/
|
||||
|
||||
# artifacts
|
||||
coverage/
|
||||
public/
|
||||
pages/
|
||||
|
||||
# installs
|
||||
node_modules/
|
||||
|
||||
# caches
|
||||
.yarn/
|
||||
.cache/
|
||||
.rpt2_cache
|
||||
|
||||
# builds
|
||||
dist/
|
||||
dist_web/
|
||||
dist_serve/
|
||||
dist_ts_web/
|
||||
|
||||
# custom
|
55
.gitlab-ci.yml
Normal file
55
.gitlab-ci.yml
Normal file
@ -0,0 +1,55 @@
|
||||
# gitzone ci_docker
|
||||
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
|
||||
|
||||
cache:
|
||||
paths:
|
||||
- .npmci-cache/
|
||||
key: "$CI_BUILD_STAGE"
|
||||
|
||||
before_script:
|
||||
- pnpm uninstall -g @ship.zone/npmci
|
||||
- pnpm install -g @ship.zone/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
|
||||
- npmci docker build
|
||||
- npmci docker test
|
||||
- npmci docker push registry.gitlab.com
|
||||
- npmci docker push docker.io
|
||||
only:
|
||||
- tags
|
||||
tags:
|
||||
- docker
|
||||
- priv
|
||||
|
||||
trigger:
|
||||
stage: trigger
|
||||
script:
|
||||
- npmci trigger
|
||||
only:
|
||||
- tags
|
||||
tags:
|
||||
- docker
|
112
Dockerfile
112
Dockerfile
@ -1,36 +1,102 @@
|
||||
FROM debian
|
||||
FROM ubuntu:20.04
|
||||
LABEL author="Task Venture Capital GmbH <hello@task.vc>"
|
||||
|
||||
# Replace shell with bash so we can source files
|
||||
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
|
||||
WORKDIR /workspace
|
||||
# important environment variables
|
||||
ENV NODE_VERSION_LTS="20.12.2" NODE_VERSION_STABLE="20.12.2" NVM_DIR="/usr/local/nvm"
|
||||
|
||||
# Set debconf to run non-interactively
|
||||
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
|
||||
|
||||
# Install base dependencies
|
||||
RUN apt-get update && apt-get install -y -q --no-install-recommends \
|
||||
# Set debconf to run non-interactively and install packages
|
||||
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections \
|
||||
&& apt-get update \
|
||||
&& apt-get upgrade --no-install-recommends -y \
|
||||
&& apt-get install -y -q --no-install-recommends \
|
||||
# base libs
|
||||
software-properties-common \
|
||||
apt-transport-https \
|
||||
build-essential \
|
||||
ca-certificates \
|
||||
gpg-agent \
|
||||
curl \
|
||||
g++ \
|
||||
gcc \
|
||||
git \
|
||||
libssl-dev \
|
||||
make \
|
||||
openssl \
|
||||
python \
|
||||
python3 \
|
||||
rsync \
|
||||
software-properties-common \
|
||||
ssh \
|
||||
wget \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ENV NVM_DIR /usr/local/nvm
|
||||
ENV NODE_VERSION 4.3.1
|
||||
# puppeteer
|
||||
gconf-service \
|
||||
libasound2 \
|
||||
libatk1.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 \
|
||||
ca-certificates \
|
||||
fonts-liberation \
|
||||
libappindicator1 \
|
||||
libnss3 \
|
||||
lsb-release \
|
||||
xdg-utils \
|
||||
# network
|
||||
iputils-ping \
|
||||
dnsutils \
|
||||
|
||||
# chrome
|
||||
&& wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
|
||||
&& apt install -y -q --no-install-recommends ./google-chrome-stable_current_amd64.deb \
|
||||
|
||||
# mongodb
|
||||
&& curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add - \
|
||||
&& echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y -q --no-install-recommends \
|
||||
mongodb-org \
|
||||
&& apt-get clean \
|
||||
&& rm -r /var/lib/apt/lists/*
|
||||
|
||||
# Install nvm with node and npm
|
||||
RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash \
|
||||
&& source $NVM_DIR/nvm.sh \
|
||||
&& nvm install $NODE_VERSION \
|
||||
&& nvm alias default $NODE_VERSION \
|
||||
&& nvm use default
|
||||
RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
|
||||
|
||||
ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules
|
||||
ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH
|
||||
RUN node -v
|
||||
RUN npm -v
|
||||
# prepare pnpm
|
||||
ENV PNPM_HOME="/root/.local/share/pnpm/pnpm"
|
||||
RUN mkdir -p ${PNPM_HOME}
|
||||
ENV PATH="$PNPM_HOME:$PATH"
|
||||
|
||||
RUN bash -c "source $NVM_DIR/nvm.sh \
|
||||
&& nvm install $NODE_VERSION_STABLE \
|
||||
&& nvm alias default $NODE_VERSION_STABLE \
|
||||
&& nvm use default \
|
||||
&& curl -fsSL https://get.pnpm.io/install.sh | bash - \
|
||||
&& pnpm -v \
|
||||
&& pnpm config set unsafe-perm true"
|
||||
|
||||
ENV NODE_PATH $NVM_DIR/v$NODE_VERSION_STABLE/lib/node_modules
|
||||
ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION_STABLE/bin:$PATH
|
||||
|
11
Dockerfile_alpine
Normal file
11
Dockerfile_alpine
Normal file
@ -0,0 +1,11 @@
|
||||
FROM node:18.15.0-alpine
|
||||
LABEL author="Task Venture Capital GmbH <hello@task.vc>"
|
||||
|
||||
#pnpm
|
||||
ENV PNPM_HOME="/root/.local/share/pnpm/pnpm"
|
||||
RUN apk add --no-cache curl iputils bind-tools bash && mkdir -p ${PNPM_HOME}
|
||||
ENV PATH="$PNPM_HOME:$PATH"
|
||||
RUN curl -fsSL "https://github.com/pnpm/pnpm/releases/latest/download/pnpm-linuxstatic-x64" -o /bin/pnpm; chmod +x /bin/pnpm;
|
||||
RUN pnpm -v
|
||||
|
||||
ENV NODE_OPTIONS="--max_old_space_size=1000"
|
10
Dockerfile_alpine_npmci
Normal file
10
Dockerfile_alpine_npmci
Normal file
@ -0,0 +1,10 @@
|
||||
FROM hosttoday/ht-docker-node:alpine
|
||||
RUN apk update && apk add bash libc6-compat alpine-sdk
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
RUN apk add --update --no-cache python3 && ln -sf python3 /usr/bin/python
|
||||
RUN python3 -m ensurepip
|
||||
RUN pip3 install --no-cache --upgrade pip setuptools
|
||||
RUN apk add --update alpine-sdk && \
|
||||
apk add libffi-dev openssl-dev && \
|
||||
apk add python3-dev && \
|
||||
pnpm install -g @ship.zone/npmci node-gyp
|
13
Dockerfile_fossglobal_preinstalled_##version##
Normal file
13
Dockerfile_fossglobal_preinstalled_##version##
Normal file
@ -0,0 +1,13 @@
|
||||
FROM hosttoday/ht-docker-node:npmci
|
||||
RUN npm install -g \
|
||||
@git.zone/tsrun \
|
||||
@git.zone/tstest \
|
||||
@push.rocks/qenv \
|
||||
@push.rocks/smartfile \
|
||||
@push.rocks/smartpath \
|
||||
@push.rocks/smartshell \
|
||||
@push.rocks/tapbundle \
|
||||
axios \
|
||||
@push.rocks/smartdelay \
|
||||
@push.rocks/smartjson \
|
||||
@push.rocks/tapbundle
|
12
Dockerfile_iot
Normal file
12
Dockerfile_iot
Normal file
@ -0,0 +1,12 @@
|
||||
FROM hosttoday/ht-docker-node:latest as stage1
|
||||
LABEL author="Task Venture Capital GmbH <hello@task.vc>"
|
||||
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
|
||||
|
8
Dockerfile_lts
Normal file
8
Dockerfile_lts
Normal file
@ -0,0 +1,8 @@
|
||||
FROM hosttoday/ht-docker-node:latest
|
||||
LABEL author="Task Venture Capital GmbH <hello@task.vc>"
|
||||
|
||||
RUN bash -c "source $NVM_DIR/nvm.sh \
|
||||
&& nvm install $NODE_VERSION_LTS"
|
||||
|
||||
ENV NODE_PATH $NVM_DIR/v$NODE_VERSION_LTS/lib/node_modules
|
||||
ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION_LTS/bin:$PATH
|
4
Dockerfile_npmci
Normal file
4
Dockerfile_npmci
Normal file
@ -0,0 +1,4 @@
|
||||
FROM hosttoday/ht-docker-node:latest
|
||||
LABEL author="Task Venture Capital GmbH <hello@task.vc>"
|
||||
|
||||
RUN pnpm install -g @ship.zone/npmci
|
6
Dockerfile_stableinit
Normal file
6
Dockerfile_stableinit
Normal file
@ -0,0 +1,6 @@
|
||||
FROM hosttoday/ht-docker-node:latest
|
||||
# Add Tini
|
||||
ENV TINI_VERSION v0.19.0
|
||||
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
|
||||
RUN chmod +x /tini
|
||||
ENTRYPOINT ["/tini", "--"]
|
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
|
||||
|
21
npmextra.json
Normal file
21
npmextra.json
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"gitzone": {
|
||||
"module": {
|
||||
"githost": "code.foss.global",
|
||||
"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"
|
||||
]
|
||||
},
|
||||
"tsdoc": {
|
||||
"legal": "\n## License and Legal Information\n\nThis repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository. \n\n**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.\n\n### Trademarks\n\nThis project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH and are not included within the scope of the MIT license granted herein. Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines, and any usage must be approved in writing by Task Venture Capital GmbH.\n\n### Company Information\n\nTask Venture Capital GmbH \nRegistered at District court Bremen HRB 35230 HB, Germany\n\nFor any legal inquiries or if you require further information, please contact us via email at hello@task.vc.\n\nBy using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.\n"
|
||||
}
|
||||
}
|
5
package-lock.json
generated
Normal file
5
package-lock.json
generated
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"name": "ht-docker-node",
|
||||
"version": "5.0.130",
|
||||
"lockfileVersion": 1
|
||||
}
|
24
package.json
24
package.json
@ -1,10 +1,11 @@
|
||||
{
|
||||
"name": "ht-docker-node",
|
||||
"version": "4.3.1",
|
||||
"description": "docker image with nodejs with shipzone.io support",
|
||||
"version": "5.0.130",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
1
readme.hints.md
Normal file
1
readme.hints.md
Normal file
@ -0,0 +1 @@
|
||||
|
59
readme.md
Normal file
59
readme.md
Normal file
@ -0,0 +1,59 @@
|
||||
# @hosttoday/ht-docker-node
|
||||
docker image with nodejs and [ship.zone](https://ship.zone) support
|
||||
|
||||
## 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)
|
||||
[](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.
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
## Availability
|
||||
|
||||
| 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)
|
||||
|
||||
[](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
test/test_latest.sh
Normal file
1
test/test_latest.sh
Normal file
@ -0,0 +1 @@
|
||||
echo "this runs within latest container!";
|
10
test/test_npmci.sh
Normal file
10
test/test_npmci.sh
Normal file
@ -0,0 +1,10 @@
|
||||
# check if npmci is available
|
||||
npm init -y
|
||||
npmci -v
|
||||
|
||||
# TODO update npmci to not require package.json
|
||||
npmci node install stable
|
||||
|
||||
# check if npm picks it up
|
||||
npmci command pnpm install -g @gitzone/tsrun
|
||||
npmci command tsrun -v
|
5
test/test_stable.sh
Normal file
5
test/test_stable.sh
Normal file
@ -0,0 +1,5 @@
|
||||
# npm
|
||||
npm -v
|
||||
node -v
|
||||
pnpm install -g @gitzone/tsrun
|
||||
tsrun -v
|
14
tsconfig.json
Normal file
14
tsconfig.json
Normal file
@ -0,0 +1,14 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"experimentalDecorators": true,
|
||||
"useDefineForClassFields": false,
|
||||
"target": "ES2022",
|
||||
"module": "NodeNext",
|
||||
"moduleResolution": "NodeNext",
|
||||
"esModuleInterop": true,
|
||||
"verbatimModuleSyntax": true
|
||||
},
|
||||
"exclude": [
|
||||
"dist_*/**/*.d.ts"
|
||||
]
|
||||
}
|
Reference in New Issue
Block a user