mirror of
https://github.com/meienberger/runtipi.git
synced 2024-10-03 23:28:33 +03:00
60 lines
1.6 KiB
Docker
60 lines
1.6 KiB
Docker
ARG NODE_VERSION="iron"
|
|
ARG ALPINE_VERSION="3.20"
|
|
|
|
FROM node:${NODE_VERSION}-alpine${ALPINE_VERSION}
|
|
|
|
ENV LOCAL=true
|
|
ENV SENTRY_RELEASE=development
|
|
|
|
RUN apk add --no-cache python3 make g++
|
|
RUN apk add --no-cache curl openssl git
|
|
|
|
RUN npm install pnpm@9.4.0 pm2 -g
|
|
|
|
ARG TARGETARCH
|
|
ARG DOCKER_COMPOSE_VERSION="v2.29.7"
|
|
ENV TARGETARCH=${TARGETARCH}
|
|
ENV NODE_ENV="development"
|
|
|
|
# Dashboard
|
|
WORKDIR /app
|
|
|
|
RUN echo "Building for ${TARGETARCH}"
|
|
|
|
RUN if [ "${TARGETARCH}" = "arm64" ]; then \
|
|
curl -L -o docker-binary "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-linux-aarch64"; \
|
|
elif [ "${TARGETARCH}" = "amd64" ]; then \
|
|
curl -L -o docker-binary "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-linux-x86_64"; \
|
|
fi
|
|
|
|
RUN chmod +x docker-binary
|
|
|
|
RUN mv docker-binary /usr/local/bin/docker-compose
|
|
|
|
COPY ./pnpm-lock.yaml ./
|
|
RUN pnpm fetch --ignore-scripts
|
|
|
|
COPY ./package*.json ./
|
|
COPY ./packages/worker/package.json ./packages/worker/package.json
|
|
COPY ./packages/shared/package.json ./packages/shared/package.json
|
|
COPY ./packages/db/package.json ./packages/db/package.json
|
|
COPY ./packages/cache/package.json ./packages/cache/package.json
|
|
|
|
COPY ./scripts ./scripts
|
|
COPY ./public ./public
|
|
|
|
RUN pnpm install -r --prefer-offline
|
|
|
|
COPY ./packages ./packages
|
|
|
|
COPY ./packages/db/assets/migrations ./packages/worker/assets/migrations
|
|
COPY ./tsconfig.json ./tsconfig.json
|
|
COPY ./next.config.mjs ./next.config.mjs
|
|
|
|
# Sentry
|
|
COPY ./sentry.client.config.ts ./sentry.client.config.ts
|
|
|
|
COPY ./start.dev.sh ./start.sh
|
|
|
|
CMD ["sh", "start.sh"]
|