1
1
VERSION 0.7
2
2
3
- FROM alpine:3.18
3
+ FROM debian:12-slim
4
4
5
5
WORKDIR /app
6
6
7
- RUN apk add --no-cache \
8
- nodejs= 18.18.2-r0 \
9
- tzdata
7
+ RUN apt-get update && apt-get upgrade -y && apt-get install -y \
8
+ nodejs
10
9
11
10
all :
12
11
BUILD \
@@ -22,40 +21,26 @@ test:
22
21
--platform = linux/arm64 \
23
22
+docker-test
24
23
25
- build-deps :
26
- RUN apk add --no-cache \
27
- g++ \
28
- git \
29
- linux-headers \
30
- make \
31
- npm \
32
- python3
33
-
24
+ build :
25
+ RUN apt-get install -y \
26
+ npm
34
27
RUN npm config set \
35
28
fetch-retries 5 \
36
29
fetch-retry-mintimeout 100000 \
37
30
fetch-retry-maxtimeout 600000
38
31
39
- build :
40
- FROM +build-deps
41
-
42
32
ARG --required ZWAVE_JS_VERSION
43
33
ARG --required ZWAVE_JS_SERVER_VERSION
44
34
ARG ZWAVE_JS_PACKAGE= zwave-js@$ZWAVE_JS_VERSION
45
35
ARG ZWAVE_JS_SERVER_PACKAGE= @zwave-js/server@$ZWAVE_JS_SERVER_VERSION
46
36
ARG ZWAVE_JS_FLASH_PACKAGE= @zwave-js/flash@$ZWAVE_JS_VERSION
47
37
ARG NPM_INSTALL_EXTRA_FLAGS
48
38
49
- # Prebuilt binaries for node serialport and Alpine are broken, so we
50
- # rebuild from source:
51
- # https://github.com/serialport/bindings-cpp/issues/139
52
- # https://github.com/serialport/node-serialport/issues/2438
53
39
RUN npm install \
54
40
$NPM_INSTALL_EXTRA_FLAGS \
55
41
$ZWAVE_JS_SERVER_PACKAGE \
56
42
$ZWAVE_JS_FLASH_PACKAGE \
57
- $ZWAVE_JS_PACKAGE \
58
- && npm rebuild --prefer-offline --build-from-source @serialport/bindings-cpp
43
+ $ZWAVE_JS_PACKAGE
59
44
60
45
SAVE ARTIFACT /app
61
46
@@ -70,7 +55,7 @@ docker:
70
55
/cache/db \
71
56
/logs
72
57
73
- RUN apk add --no-cache \
58
+ RUN apt-get install -y \
74
59
tini
75
60
76
61
ARG EARTHLY_GIT_SHORT_HASH
0 commit comments