forked from frangoteam/FUXA
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile-sm
47 lines (36 loc) · 1.29 KB
/
Dockerfile-sm
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
FROM node:18-bookworm as builder
ARG NODE_SNAP=false
ARG USE_ODBC=false
# Workaround for sqlite3 https://stackoverflow.com/questions/71894884/sqlite3-err-dlopen-failed-version-glibc-2-29-not-found
RUN apt-get update && apt-get install -y sqlite3 libsqlite3-dev
WORKDIR /fuxa
ADD . /fuxa/
WORKDIR /fuxa/client
RUN npm install --legacy-peer-deps && npm run build
WORKDIR /fuxa/server
RUN npm install --legacy-peer-deps
# Install options snap7
RUN if [ "$NODE_SNAP" = "true" ]; then \
npm install node-snap7; \
fi
RUN if [ "$USE_ODBC" = "true" ]; then \
npm i odbc; \
fi
FROM node:18-bookworm
ARG USE_ODBC=false
COPY --from=builder /fuxa/server /fuxa/server
COPY --from=builder /fuxa/client/dist /fuxa/client/dist
WORKDIR /fuxa/server
RUN if [ "$USE_ODBC" = "true" ]; then \
apt-get update && apt-get install -y dos2unix; \
apt-get install -y build-essential unixodbc unixodbc-dev; \
dos2unix ../odbc/install_odbc_drivers.sh && chmod +x ../odbc/install_odbc_drivers.sh; \
cd ../odbc && ./install_odbc_drivers.sh; \
cp ../odbc/odbcinst.ini /etc/odbcinst.ini; \
fi
RUN apt-get update && apt-get install -y sqlite3 libsqlite3-dev && \
apt-get autoremove -yqq --purge && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
EXPOSE 1881
ENTRYPOINT [ "npm", "start" ]