Dockerfile.dev
Rama develop · réplica de lectura del repositorio original.
ARG NODE_VERSION="jod"
ARG ALPINE_VERSION="3.24"
ARG BUN_VERSION="1.4.4"
FROM oven/bun:${BUN_VERSION}-alpine AS bun_base
FROM node:${NODE_VERSION}-alpine${ALPINE_VERSION} AS node_base
COPY --from=bun_base /usr/local/bin/bun /usr/local/bin/bun
RUN apk add --no-cache g++ make curl python3 openssl git tar pigz file docker-cli-buildx
ARG TARGETARCH
# renovate: datasource=github-releases depName=docker/compose
ARG DOCKER_COMPOSE_VERSION="v5.6.1"
ENV TARGETARCH=${TARGETARCH}
ENV NODE_ENV="development"
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 ./package.json ./package.json
COPY ./bun.lock ./
COPY ./packages/backend/package.json ./packages/backend/package.json
COPY ./packages/frontend/package.json ./packages/frontend/package.json
COPY ./packages/common/package.json ./packages/common/package.json
COPY ./packages/frontend/scripts ./packages/frontend/scripts
COPY ./packages/frontend/public ./packages/frontend/public
RUN bun install --frozen-lockfile --verbose
COPY ./turbo.json ./turbo.json
COPY ./packages ./packages
COPY ./packages/backend/assets ./assets
COPY ./packages/backend/src/core/database/drizzle ./assets/migrations
EXPOSE 3000
CMD ["npm", "run", "dev"]