1
1
# #
2
2
# # Build Lowcoder api-service application
3
3
# #
4
- FROM maven:3-eclipse-temurin-21 AS build-api-service
4
+ FROM maven:3-eclipse-temurin-24 AS build-api-service
5
5
6
6
# Build lowcoder-api
7
7
COPY ./server/api-service /lowcoder-server
@@ -26,7 +26,7 @@ RUN chmod +x /lowcoder/api-service/*.sh
26
26
# # To create a separate image out of it, build it with:
27
27
# # DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t lowcoderorg/lowcoder-ce-api-service --target lowcoder-ce-api-service .
28
28
# #
29
- FROM eclipse-temurin:21-jammy AS lowcoder-ce-api-service
29
+ FROM eclipse-temurin:24-noble AS lowcoder-ce-api-service
30
30
LABEL maintainer="lowcoder"
31
31
32
32
RUN apt-get update && apt-get install -y --no-install-recommends gosu \
@@ -51,14 +51,12 @@ CMD [ "/bin/bash" , "/lowcoder/api-service/entrypoint.sh" ]
51
51
# #
52
52
# # Build lowcoder node service
53
53
# #
54
- FROM ubuntu:jammy AS build-node-service
54
+ FROM ubuntu:noble AS build-node-service
55
55
56
56
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y curl ca-certificates build-essential gnupg
57
57
58
58
# Add nodejs repo and keys
59
- RUN mkdir -p /etc/apt/keyrings \
60
- && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
61
- && echo"deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_23.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
59
+ RUN curl -fsSL https://deb.nodesource.com/setup_24.x | bash -
62
60
63
61
# Download nodejs and install yarn
64
62
RUN apt-get update \
@@ -82,15 +80,13 @@ RUN chmod +x /lowcoder/node-service/*.sh
82
80
# # To create a separate image out of it, build it with:
83
81
# # DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t lowcoderorg/lowcoder-ce-node-service --target lowcoder-ce-node-service .
84
82
# #
85
- FROM ubuntu:jammy AS lowcoder-ce-node-service
83
+ FROM ubuntu:noble AS lowcoder-ce-node-service
86
84
LABEL maintainer="lowcoder"
87
85
88
86
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y curl ca-certificates gnupg
89
87
90
88
# Add nodejs repo and keys
91
- RUN mkdir -p /etc/apt/keyrings \
92
- && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
93
- && echo"deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_23.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
89
+ RUN curl -fsSL https://deb.nodesource.com/setup_24.x | bash -
94
90
95
91
# Download nodejs and install yarn
96
92
RUN apt-get update \
@@ -147,7 +143,7 @@ RUN yarn build
147
143
# # To create a separate image out of it, build it with:
148
144
# # DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t lowcoderorg/lowcoder-ce-frontend --target lowcoder-ce-frontend .
149
145
# #
150
- FROM nginx:1.27.4 AS lowcoder-ce-frontend
146
+ FROM nginx:1.29.1 AS lowcoder-ce-frontend
151
147
LABEL maintainer="lowcoder"
152
148
153
149
# Change default nginx user into lowcoder user and remove default nginx config
@@ -188,7 +184,7 @@ EXPOSE 3443
188
184
# #
189
185
# # Build Lowcoder all-in-one image
190
186
# #
191
- FROM ubuntu:jammy
187
+ FROM ubuntu:noble
192
188
LABEL maintainer="lowcoder"
193
189
194
190
# Install essential tools
@@ -197,35 +193,39 @@ RUN apt-get update \
197
193
&& rm -rf /var/cache/apt/lists /var/lib/apt/lists/* /var/log/dpkg.log \
198
194
&& apt-get clean
199
195
196
+ # Install nodejs apt repo
197
+ RUN curl -fsSL https://deb.nodesource.com/setup_24.x | bash -
198
+
200
199
# Add required apt repositories and signing keys
201
- RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource-keyring.gpg \
202
- && echo"deb [signed-by=/usr/share/keyrings/nodesource-keyring.gpg] https://deb.nodesource.com/node_23.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
200
+ RUN mkdir -p /usr/share/keyrings \
203
201
&& curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg \
204
202
&& echo"deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb `lsb_release -cs` main" | tee /etc/apt/sources.list.d/redis.list \
205
- && curl -fsSL https://www.mongodb.org/static/pgp/server-7 .0.asc | gpg --dearmor -o /usr/share/keyrings/mongodb-archive-keyring.gpg \
206
- && echo"deb [signed-by=/usr/share/keyrings/mongodb-archive-keyring.gpg] https://repo.mongodb.org/apt/ubuntu `lsb_release -cs`/mongodb-org/7 .0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-7 .0.list \
203
+ && curl -fsSL https://www.mongodb.org/static/pgp/server-8 .0.asc | gpg --dearmor -o /usr/share/keyrings/mongodb-archive-keyring.gpg \
204
+ && echo"deb [signed-by=/usr/share/keyrings/mongodb-archive-keyring.gpg] https://repo.mongodb.org/apt/ubuntu `lsb_release -cs`/mongodb-org/8 .0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-8 .0.list \
207
205
&& curl -fsSL https://nginx.org/keys/nginx_signing.key | gpg --dearmor -o /usr/share/keyrings/nginx-archive-keyring.gpg \
208
- && echo"deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" | tee /etc/apt/sources.list.d/nginx.list
206
+ && echo"deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" | tee /etc/apt/sources.list.d/nginx.list \
207
+ && curl -fsSL https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor -o /usr/share/keyrings/adoptium-keyring.gpg \
208
+ && echo"deb [signed-by=/usr/share/keyrings/adoptium-keyring.gpg] https://packages.adoptium.net/artifactory/deb `lsb_release -cs` main" | tee /etc/apt/sources.list.d/adoptium.list
209
209
210
210
211
211
# Install required packages
212
212
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends -y \
213
- nginx=1.27.4 -1~jammy \
213
+ nginx=1.29.1 -1~noble \
214
214
mongodb-org \
215
215
redis \
216
216
supervisor \
217
217
gosu \
218
218
nodejs \
219
- openjdk-21 -jdk-headless \
219
+ temurin-24 -jdk \
220
220
&& npm install -g yarn \
221
221
&& rm -rf /var/cache/apt/lists /var/lib/apt/lists/* /var/log/dpkg.log \
222
222
&& apt-get clean \
223
223
&& rm -rf /tmp/*
224
224
225
225
# Use configuration setup from official nginx image
226
226
RUN rm -rf /etc/nginx/nginx.conf
227
- COPY --from=nginx:1.27.4 /docker-entrypoint.d /docker-entrypoint.d
228
- COPY --from=nginx:1.27.4 /docker-entrypoint.sh /docker-entrypoint.sh
227
+ COPY --from=nginx:1.29.1 /docker-entrypoint.d /docker-entrypoint.d
228
+ COPY --from=nginx:1.29.1 /docker-entrypoint.sh /docker-entrypoint.sh
229
229
230
230
# Add lowcoder user
231
231
RUN usermod --login lowcoder --uid 9001 nginx \