32 lines
		
	
	
		
			1023 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			1023 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
# syntax=docker/dockerfile:1.7-labs
 | 
						|
 | 
						|
ARG NODE_IMAGE=node:20.14.0-bookworm
 | 
						|
ARG NGINX_IMAGE=nginx:1.27-alpine
 | 
						|
ARG VERSION=0.0.0
 | 
						|
ARG CHANNEL=dev
 | 
						|
ARG GIT_SHA=0000000
 | 
						|
ARG SOURCE_DATE_EPOCH=0
 | 
						|
 | 
						|
FROM ${NODE_IMAGE} AS build
 | 
						|
WORKDIR /workspace
 | 
						|
ENV CI=1 \
 | 
						|
    SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH}
 | 
						|
COPY src/Web/StellaOps.Web/package.json src/Web/StellaOps.Web/package-lock.json ./
 | 
						|
RUN npm ci --prefer-offline --no-audit --no-fund
 | 
						|
COPY src/Web/StellaOps.Web/ ./
 | 
						|
RUN npm run build -- --configuration=production
 | 
						|
 | 
						|
FROM ${NGINX_IMAGE} AS runtime
 | 
						|
ARG VERSION
 | 
						|
ARG CHANNEL
 | 
						|
ARG GIT_SHA
 | 
						|
WORKDIR /usr/share/nginx/html
 | 
						|
RUN rm -rf ./*
 | 
						|
COPY --from=build /workspace/dist/stellaops-web/ /usr/share/nginx/html/
 | 
						|
COPY ops/devops/release/docker/nginx-default.conf /etc/nginx/conf.d/default.conf
 | 
						|
LABEL org.opencontainers.image.version="${VERSION}" \
 | 
						|
      org.opencontainers.image.revision="${GIT_SHA}" \
 | 
						|
      org.opencontainers.image.source="https://git.stella-ops.org/stella-ops/feedser" \
 | 
						|
      org.stellaops.release.channel="${CHANNEL}"
 | 
						|
EXPOSE 8080
 |