 60557d31fd
			
		
	
	
		60557d31fd
		
			
		
	
	
	
	
		
			
			Prisma is a dev dependency in the main project. However, it is needed in the image so we can run the migrations before starting the server up. This installs it globally in the image since it won't be installed using the project's `package.json`. Signed-off-by: Alex Sears <me@alexsears.com>
		
			
				
	
	
		
			51 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| FROM node:14 as deps
 | |
| 
 | |
| WORKDIR /calcom
 | |
| COPY calendso/package.json calendso/yarn.lock ./
 | |
| COPY calendso/apps/web/package.json calendso/apps/web/yarn.lock ./apps/web/
 | |
| COPY calendso/packages/prisma/package.json ./packages/prisma/package.json
 | |
| COPY calendso/packages/lib/package.json ./packages/lib/package.json
 | |
| COPY calendso/packages/tsconfig/package.json ./packages/tsconfig/package.json
 | |
| # RUN yarn install --frozen-lockfile
 | |
| RUN yarn install
 | |
| 
 | |
| FROM node:14 as builder
 | |
| 
 | |
| WORKDIR /calcom
 | |
| ARG BASE_URL
 | |
| ARG NEXT_PUBLIC_APP_URL
 | |
| ARG NEXT_PUBLIC_LICENSE_CONSENT
 | |
| ARG NEXT_PUBLIC_TELEMETRY_KEY
 | |
| ENV BASE_URL=$BASE_URL \
 | |
|     NEXT_PUBLIC_APP_URL=$NEXT_PUBLIC_APP_URL \
 | |
|     NEXT_PUBLIC_LICENSE_CONSENT=$NEXT_PUBLIC_LICENSE_CONSENT \
 | |
|     NEXT_PUBLIC_TELEMETRY_KEY=$NEXT_PUBLIC_TELEMETRY_KEY
 | |
| 
 | |
| COPY calendso/package.json calendso/yarn.lock calendso/turbo.json ./
 | |
| COPY calendso/apps/web ./apps/web
 | |
| COPY calendso/packages ./packages
 | |
| COPY --from=deps /calcom/node_modules ./node_modules
 | |
| RUN yarn build && yarn install --production --ignore-scripts --prefer-offline
 | |
| 
 | |
| FROM node:14 as runner
 | |
| WORKDIR /calcom
 | |
| ENV NODE_ENV production
 | |
| RUN apt-get update && \
 | |
|     apt-get -y install netcat && \
 | |
|     rm -rf /var/lib/apt/lists/* && \
 | |
|     npm install --global prisma
 | |
| 
 | |
| COPY calendso/package.json calendso/yarn.lock calendso/turbo.json ./
 | |
| COPY --from=builder /calcom/node_modules ./node_modules
 | |
| COPY --from=builder /calcom/packages ./packages
 | |
| COPY --from=builder /calcom/apps/web/node_modules ./apps/web/node_modules
 | |
| COPY --from=builder /calcom/apps/web/scripts ./apps/web/scripts
 | |
| COPY --from=builder /calcom/apps/web/next.config.js ./apps/web/next.config.js
 | |
| COPY --from=builder /calcom/apps/web/next-i18next.config.js ./apps/web/next-i18next.config.js
 | |
| COPY --from=builder /calcom/apps/web/public ./apps/web/public
 | |
| COPY --from=builder /calcom/apps/web/.next ./apps/web/.next
 | |
| COPY --from=builder /calcom/apps/web/package.json ./apps/web/package.json
 | |
| COPY  scripts scripts
 | |
| 
 | |
| EXPOSE 3000
 | |
| CMD ["/calcom/scripts/start.sh"]
 |