43 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| FROM node:18-alpine as build
 | |
| WORKDIR /app
 | |
| 
 | |
| RUN apk add --no-cache curl
 | |
| RUN curl -sL https://unpkg.com/@pnpm/self-installer | node
 | |
| 
 | |
| COPY . .
 | |
| RUN pnpm install
 | |
| RUN pnpm build
 | |
| 
 | |
| # Production build
 | |
| FROM node:18-alpine
 | |
| WORKDIR /app
 | |
| ENV NODE_ENV production
 | |
| ARG TARGETPLATFORM
 | |
| 
 | |
| ENV PRISMA_QUERY_ENGINE_BINARY=/app/prisma-engines/query-engine \
 | |
|   PRISMA_MIGRATION_ENGINE_BINARY=/app/prisma-engines/migration-engine \
 | |
|   PRISMA_INTROSPECTION_ENGINE_BINARY=/app/prisma-engines/introspection-engine \
 | |
|   PRISMA_FMT_BINARY=/app/prisma-engines/prisma-fmt \
 | |
|   PRISMA_CLI_QUERY_ENGINE_TYPE=binary \
 | |
|   PRISMA_CLIENT_ENGINE_TYPE=binary
 | |
| 
 | |
| COPY --from=coollabsio/prisma-engine:3.15 /prisma-engines/query-engine /prisma-engines/migration-engine /prisma-engines/introspection-engine /prisma-engines/prisma-fmt /app/prisma-engines/
 | |
| 
 | |
| RUN apk add --no-cache git git-lfs openssh-client curl jq cmake sqlite openssl
 | |
| RUN curl -sL https://unpkg.com/@pnpm/self-installer | node
 | |
| 
 | |
| RUN mkdir -p ~/.docker/cli-plugins/
 | |
| RUN curl -SL https://cdn.coollabs.io/bin/$TARGETPLATFORM/docker-20.10.9 -o /usr/bin/docker
 | |
| RUN curl -SL https://cdn.coollabs.io/bin/$TARGETPLATFORM/docker-compose-linux-2.3.4 -o ~/.docker/cli-plugins/docker-compose
 | |
| RUN chmod +x ~/.docker/cli-plugins/docker-compose /usr/bin/docker
 | |
| 
 | |
| COPY --from=build /app/apps/api/build/ .
 | |
| COPY --from=build /app/apps/ui/build/ ./public
 | |
| COPY --from=build /app/apps/api/prisma/ ./prisma
 | |
| COPY --from=build /app/apps/api/package.json .
 | |
| COPY --from=build /app/docker-compose.yaml .
 | |
| 
 | |
| RUN pnpm install -p
 | |
| 
 | |
| EXPOSE 3000
 | |
| CMD pnpm start | 
