@@ -25,7 +25,7 @@ RUN chmod +x /lowcoder/api-service/*.sh
2525# # To create a separate image out of it, build it with:
2626# # DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t lowcoderorg/lowcoder-ce-api-service --target lowcoder-ce-api-service .
2727# #
28- FROM eclipse-temurin:17-jammy as lowcoder-ce-api-service
28+ FROM eclipse-temurin:17-jammy AS lowcoder-ce-api-service
2929LABEL maintainer="lowcoder"
3030
3131RUN apt-get update && apt-get install -y --no-install-recommends gosu \
@@ -49,7 +49,7 @@ CMD [ "/bin/bash" , "/lowcoder/api-service/entrypoint.sh" ]
4949# #
5050# # Build lowcoder node service
5151# #
52- FROM ubuntu:jammy as build-node-service
52+ FROM ubuntu:jammy AS build-node-service
5353
5454RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y curl ca-certificates build-essential gnupg
5555
@@ -80,7 +80,7 @@ RUN chmod +x /lowcoder/node-service/*.sh
8080# # To create a separate image out of it, build it with:
8181# # DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t lowcoderorg/lowcoder-ce-node-service --target lowcoder-ce-node-service .
8282# #
83- FROM ubuntu:jammy as lowcoder-ce-node-service
83+ FROM ubuntu:jammy AS lowcoder-ce-node-service
8484LABEL maintainer="lowcoder"
8585
8686RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y curl ca-certificates gnupg
@@ -145,7 +145,7 @@ RUN yarn build
145145# # To create a separate image out of it, build it with:
146146# # DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t lowcoderorg/lowcoder-ce-frontend --target lowcoder-ce-frontend .
147147# #
148- FROM nginx:1.25.1 as lowcoder-ce-frontend
148+ FROM nginx:1.25.1 AS lowcoder-ce-frontend
149149LABEL maintainer="lowcoder"
150150
151151# Change default nginx user into lowcoder user and remove default nginx config
@@ -189,7 +189,10 @@ EXPOSE 3443
189189FROM lowcoder-ce-frontend
190190LABEL maintainer="lowcoder"
191191
192- RUN apt update && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y curl ca-certificates gnupg
192+ RUN apt-get update && apt-get upgrade -y \
193+ && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y curl ca-certificates gnupg \
194+ && rm -rf /var/cache/apt/lists /var/lib/apt/lists/* /var/log/dpkg.log \
195+ && apt-get clean
193196
194197# Add nodejs repo and keys
195198RUN mkdir -p /etc/apt/keyrings \
@@ -211,8 +214,10 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install --no-instal
211214 nodejs \
212215 openjdk-17-jdk-headless \
213216 && npm install -g yarn \
214- && rm -rf /var/cache/apt/lists \
215- && mkdir -p /lowcoder/assets
217+ && rm -rf /var/cache/apt/lists /var/lib/apt/lists/* /var/log/dpkg.log \
218+ && mkdir -p /lowcoder/assets \
219+ && apt-get clean \
220+ && rm -rf /tmp/*
216221
217222# Add lowcoder api-service
218223COPY --chown=lowcoder:lowcoder --from=lowcoder-ce-api-service /lowcoder/api-service /lowcoder/api-service
@@ -227,6 +232,17 @@ COPY --chown=lowcoder:lowcoder deploy/docker/all-in-one/etc /lowcoder/etc
227232# Add startup script
228233COPY --chown=lowcoder:lowcoder deploy/docker/all-in-one/entrypoint.sh /lowcoder/entrypoint.sh
229234
235+ # Fixes for OpenShift compatibility (after all files are copied)
236+ RUN echo \
237+ && adduser lowcoder root \
238+ && mkdir -p /lowcoder-stacks \
239+ && for i in /lowcoder-stacks /lowcoder/assets /lowcoder/api-service/logs /lowcoder/etc/supervisord; do \
240+ chmod -R g+rw "$i" ; \
241+ chown -R lowcoder:root "$i" ; \
242+ done \
243+ && chown -R lowcoder:root /var/log \
244+ && chmod -R g+rw /run /etc/nginx /var/cache/nginx /var/log
245+
230246EXPOSE 27017
231247EXPOSE 3000
232248EXPOSE 3443
0 commit comments