59 lines
2.0 KiB
Docker
59 lines
2.0 KiB
Docker
FROM node:18-alpine
|
|
|
|
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"
|
|
|
|
|
|
# handle node-gyp
|
|
RUN apk add --no-cache --virtual .gyp python3 make g++ jq
|
|
RUN yarn global add pm2
|
|
|
|
WORKDIR /
|
|
|
|
COPY scripts/removeWorkspaceDependencies.sh scripts/removeWorkspaceDependencies.sh
|
|
RUN chmod +x ./scripts/removeWorkspaceDependencies.sh
|
|
|
|
|
|
WORKDIR /string-templates
|
|
COPY packages/string-templates/package.json package.json
|
|
RUN ../scripts/removeWorkspaceDependencies.sh package.json
|
|
RUN --mount=type=cache,target=/root/.yarn YARN_CACHE_FOLDER=/root/.yarn yarn install --production=true
|
|
COPY packages/string-templates .
|
|
|
|
|
|
WORKDIR /app
|
|
COPY packages/worker/package.json .
|
|
COPY packages/worker/dist/yarn.lock .
|
|
RUN cd ../string-templates && yarn link && cd - && yarn link @budibase/string-templates
|
|
|
|
RUN ../scripts/removeWorkspaceDependencies.sh package.json
|
|
|
|
RUN --mount=type=cache,target=/root/.yarn YARN_CACHE_FOLDER=/root/.yarn yarn install --production=true
|
|
# Remove unneeded data from file system to reduce image size
|
|
RUN apk del .gyp \
|
|
&& yarn cache clean
|
|
|
|
COPY packages/worker/dist/ dist/
|
|
COPY packages/worker/docker_run.sh .
|
|
|
|
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
|
|
ENV CLUSTER_MODE=${CLUSTER_MODE}
|
|
ENV SERVICE=worker-service
|
|
ENV POSTHOG_TOKEN=phc_bIjZL7oh2GEUd2vqvTBH8WvrX0fWTFQMs6H5KQxiUxU
|
|
ENV TENANT_FEATURE_FLAGS=*:LICENSING,*:USER_GROUPS,*:ONBOARDING_TOUR
|
|
ENV ACCOUNT_PORTAL_URL=https://account.budibase.app
|
|
|
|
ARG BUDIBASE_VERSION
|
|
# Ensuring the version argument is sent
|
|
RUN test -n "$BUDIBASE_VERSION"
|
|
ENV BUDIBASE_VERSION=$VERSION
|
|
|
|
CMD ["./docker_run.sh"]
|