41 lines
1.1 KiB
Text
41 lines
1.1 KiB
Text
ARG NODE_VERSION="18.16"
|
|
ARG ALPINE_VERSION="3.18"
|
|
|
|
FROM node:${NODE_VERSION}-alpine${ALPINE_VERSION} AS node_base
|
|
|
|
# Install docker
|
|
RUN apk upgrade --update-cache --available && \
|
|
apk add openssl git docker docker-cli-compose curl && \
|
|
rm -rf /var/cache/apk/*
|
|
|
|
ARG TARGETARCH
|
|
ENV TARGETARCH=${TARGETARCH}
|
|
|
|
RUN echo "Building for ${TARGETARCH}"
|
|
|
|
RUN if [ "${TARGETARCH}" = "arm64" ]; then \
|
|
curl -L -o docker-binary "https://github.com/docker/compose/releases/download/v2.23.1/docker-compose-linux-aarch64"; \
|
|
elif [ "${TARGETARCH}" = "amd64" ]; then \
|
|
curl -L -o docker-binary "https://github.com/docker/compose/releases/download/v2.23.1/docker-compose-linux-x86_64"; \
|
|
fi
|
|
|
|
RUN chmod +x docker-binary
|
|
|
|
RUN mv docker-binary /usr/local/bin/docker-compose
|
|
|
|
RUN npm install pnpm -g
|
|
|
|
WORKDIR /app
|
|
|
|
COPY ./pnpm-lock.yaml ./
|
|
COPY ./pnpm-workspace.yaml ./
|
|
COPY ./patches ./patches
|
|
RUN pnpm fetch --no-scripts
|
|
|
|
COPY ./packages/worker/assets ./assets
|
|
COPY ./packages ./packages
|
|
|
|
RUN pnpm install -r --prefer-offline
|
|
|
|
CMD ["pnpm", "--filter", "@runtipi/worker", "-r", "dev"]
|
|
|