runtipi/Dockerfile.dev
2024-09-25 19:09:36 +02:00

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"]