mirror of
				https://github.com/KevinMidboe/immich.git
				synced 2025-10-29 17:40:28 +00:00 
			
		
		
		
	* use tini init * Move python into CMD * Use tini as entrypoint * Toggle executable bit * Avoid compose changes * Adapt web entrypoint
		
			
				
	
	
		
			45 lines
		
	
	
		
			790 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			790 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
| # Our Node base image
 | |
| FROM node:18.16.0-alpine3.18@sha256:9036ddb8252ba7089c2c83eb2b0dcaf74ff1069e8ddf86fe2bd6dc5fecc9492d as base
 | |
| 
 | |
| WORKDIR /usr/src/app
 | |
| EXPOSE 3000
 | |
| RUN apk add --no-cache setpriv tini
 | |
| 
 | |
| FROM base as builder
 | |
| 
 | |
| RUN chown node:node /usr/src/app
 | |
| 
 | |
| COPY --chown=node:node package*.json ./
 | |
| 
 | |
| RUN npm ci
 | |
| 
 | |
| COPY --chown=node:node . .
 | |
| 
 | |
| EXPOSE 3000
 | |
| 
 | |
| FROM builder AS dev
 | |
| ENV CHOKIDAR_USEPOLLING=true
 | |
| EXPOSE 24678
 | |
| CMD ["npm", "run", "dev"]
 | |
| 
 | |
| FROM builder AS prod
 | |
| 
 | |
| RUN npm run build
 | |
| RUN npm prune --omit=dev
 | |
| 
 | |
| FROM base
 | |
| 
 | |
| ENV NODE_ENV=production
 | |
| 
 | |
| WORKDIR /usr/src/app
 | |
| 
 | |
| COPY --from=prod /usr/src/app/node_modules ./node_modules
 | |
| COPY --from=prod /usr/src/app/build ./build
 | |
| 
 | |
| COPY package.json package-lock.json ./
 | |
| COPY entrypoint.sh ./
 | |
| 
 | |
| ENTRYPOINT ["tini", "--", "/bin/sh"]
 | |
| 
 | |
| CMD ["entrypoint.sh"]
 |