-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile.alpine
More file actions
86 lines (65 loc) · 3.12 KB
/
Dockerfile.alpine
File metadata and controls
86 lines (65 loc) · 3.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# FROM continuumio/miniconda3:23.3.1-0-alpine
FROM mambaorg/micromamba:alpine3.19
USER root
# Download and install updated nodejs
ENV NODE_PACKAGE_URL https://unofficial-builds.nodejs.org/download/release/v18.16.0/node-v18.16.0-linux-x64-musl.tar.gz
RUN apk add libstdc++
WORKDIR /opt
RUN wget $NODE_PACKAGE_URL
RUN mkdir -p /opt/nodejs
RUN tar -zxvf *.tar.gz --directory /opt/nodejs --strip-components=1
RUN rm *.tar.gz
RUN ln -s /opt/nodejs/bin/node /usr/local/bin/node
RUN ln -s /opt/nodejs/bin/npm /usr/local/bin/npm
RUN npm install -g npm@9.6.6
# Install necessary packages
# RUN apk add --update nano git python3 py3-pip g++ libstdc++6 py3-numpy && rm -rf /var/cache/apk/*
# RUN apk add --update nano git python3 py3-pip g++ py3-numpy && rm -rf /var/cache/apk/*
RUN apk add --update --no-cache cmake build-base libstdc++ openssl openssl-dev nano git python3 py3-pip g++ py3-numpy && rm -rf /var/cache/apk/*
RUN mkdir -p /usr/local/lib/node_modules
RUN adduser -D -g 'OpenIAP user' -h /home/openiap openiapuser
RUN mkdir -p /home/openiap/.openiap/packages
# RUN chown -R openiapuser:root /home/openiap && chmod -R g+rwX /home/openiap
# RUN chown -R openiapuser:root /usr/local/lib/node_modules && chmod -R g+rwX /usr/local/lib/node_modules
RUN chown -R openiapuser:root /home/openiap && chmod -R 775 /home/openiap
RUN chown -R openiapuser:root /usr/local/lib/node_modules && chmod -R 775 /usr/local/lib/node_modules
USER openiapuser
WORKDIR /home/openiap
# Copy files with appropriate permissions
COPY --chown=openiapuser:root package.json /home/openiap/package.json
COPY --chown=openiapuser:root package-lock.json /home/openiap/package-lock.json
COPY --chown=openiapuser:root bin /home/openiap/bin
RUN npm install --omit=dev --verbose
COPY --chown=openiapuser:root package.json /.npm/package.json
RUN chmod 777 /home/openiap/.npm
RUN rm -r /home/openiap/.npm/*
COPY --chown=openiapuser:root dist /home/openiap/dist
ENV HOME='/home/openiap'
ENV USER='openiapuser'
CMD ["node", "--require", "./dist/Logger.js", "dist/runagent.js"]
# # FROM node:lts-alpine
# # from python:alpine3.17
# # FROM alpine:3.17
# # FROM mambaorg/micromamba:1.5.1-alpine
# FROM continuumio/miniconda3:23.3.1-0-alpine
# USER root
# RUN apk add --update nano git nodejs npm python3 py3-pip g++ wget && rm -rf /var/cache/apk/*
# # Fix node-red scan error
# RUN mkdir -p /usr/local/lib/node_modules
# RUN addgroup -S openiapgroup
# RUN adduser -S -G openiapgroup -h /home/openiap openiapuser
# RUN chown -R openiapuser:openiapgroup /home/openiap
# USER openiapuser
# WORKDIR /home/openiap
# COPY --chown=openiapuser:openiapgroup package.json /home/openiap/package.json
# COPY --chown=openiapuser:openiapgroup package-lock.json /home/openiap/package-lock.json
# COPY --chown=openiapuser:openiapgroup bin /home/openiap/bin
# RUN npm install
# # openshift hack
# COPY --chown=openiapuser:openiapgroup package.json /.npm/package.json
# RUN chmod 777 /.npm
# RUN rm -r /.npm/*
# COPY --chown=openiapuser:openiapgroup dist /home/openiap/dist
# # RUN npx -y @openiap/nodeagent -noop
# # CMD ["npx", "-y", "@openiap/nodeagent", "-service"]
# CMD ["node", "--require", "./dist/Logger.js", "dist/runagent.js"]