1
0
Fork 0
mirror of synced 2024-09-21 11:53:49 +12:00
budibase/packages/server/Dockerfile

76 lines
2.5 KiB
Docker
Raw Normal View History

FROM node:20-alpine
2021-07-30 07:32:18 +12:00
LABEL com.centurylinklabs.watchtower.lifecycle.pre-check="scripts/watchtower-hooks/pre-check.sh"
LABEL com.centurylinklabs.watchtower.lifecycle.pre-update="scripts/watchtower-hooks/pre-update.sh"
LABEL com.centurylinklabs.watchtower.lifecycle.post-update="scripts/watchtower-hooks/post-update.sh"
LABEL com.centurylinklabs.watchtower.lifecycle.post-check="scripts/watchtower-hooks/post-check.sh"
2023-05-20 04:30:48 +12:00
WORKDIR /app
2020-06-16 04:06:54 +12:00
2021-02-26 02:27:46 +13:00
ENV PORT=4001
2020-07-09 08:53:15 +12:00
ENV COUCH_DB_URL=https://couchdb.budi.live:5984
ENV BUDIBASE_ENVIRONMENT=PRODUCTION
ENV SERVICE=app-service
2022-08-09 01:03:04 +12:00
ENV POSTHOG_TOKEN=phc_bIjZL7oh2GEUd2vqvTBH8WvrX0fWTFQMs6H5KQxiUxU
ENV ACCOUNT_PORTAL_URL=https://account.budibase.app
ENV TOP_LEVEL_PATH=/
2023-04-25 05:24:09 +12:00
# handle node-gyp and install postgres client for pg_dump utils
RUN apk add --no-cache \
g++ \
make \
python3 \
jq \
bash \
postgresql-client \
git
2020-06-16 04:06:54 +12:00
RUN yarn global add pm2
2023-06-22 22:13:20 +12:00
2023-11-25 01:02:14 +13:00
WORKDIR /
2023-06-22 22:13:20 +12:00
2023-11-25 01:02:14 +13:00
COPY scripts/removeWorkspaceDependencies.sh scripts/removeWorkspaceDependencies.sh
RUN chmod +x ./scripts/removeWorkspaceDependencies.sh
WORKDIR /app
COPY packages/server/package.json .
COPY packages/server/dist/yarn.lock .
COPY scripts/removeWorkspaceDependencies.sh scripts/removeWorkspaceDependencies.sh
RUN chmod +x ./scripts/removeWorkspaceDependencies.sh
RUN ./scripts/removeWorkspaceDependencies.sh package.json
2023-11-25 01:02:14 +13:00
# Install yarn packages with caching
2024-03-16 02:07:26 +13:00
RUN --mount=type=cache,target=/root/.yarn YARN_CACHE_FOLDER=/root/.yarn yarn install --production=true --network-timeout 1000000 \
&& yarn cache clean \
&& apk del g++ make python3 jq \
2023-05-20 02:26:34 +12:00
&& rm -rf /tmp/* /root/.node-gyp /usr/local/lib/node_modules/npm/node_modules/node-gyp
2023-11-25 01:02:14 +13:00
COPY packages/server/dist/ dist/
COPY packages/server/docker_run.sh .
COPY packages/server/builder/ builder/
COPY packages/server/client/ client/
COPY packages/server/pm2.config.js .
2023-11-25 01:02:14 +13:00
ARG BUDIBASE_VERSION
2023-12-15 22:53:48 +13:00
ARG GIT_COMMIT_SHA
2023-11-25 01:02:14 +13:00
# Ensuring the version argument is sent
RUN test -n "$BUDIBASE_VERSION"
ENV BUDIBASE_VERSION=$BUDIBASE_VERSION
2023-12-15 22:53:48 +13:00
ENV DD_GIT_REPOSITORY_URL=https://github.com/budibase/budibase
ENV DD_GIT_COMMIT_SHA=$GIT_COMMIT_SHA
ENV DD_VERSION=$BUDIBASE_VERSION
2023-05-20 02:26:34 +12:00
2020-06-16 04:06:54 +12:00
EXPOSE 4001
# have to add node environment production after install
# due to this causing yarn to stop installing dev dependencies
# which are actually needed to get this environment up and running
ENV NODE_ENV=production
# This is required for isolated-vm to work on Node 20+
ENV NODE_OPTIONS="--no-node-snapshot"
ENV CLUSTER_MODE=${CLUSTER_MODE}
2023-05-20 02:44:09 +12:00
ENV TOP_LEVEL_PATH=/app
CMD ["./docker_run.sh"]