Fix docker-compose in production (#81)
* Fixed problem with docker-compose not updating new files in the multi-stage build. * Update readme with a new screenshot
This commit is contained in:
parent
9cbd5d1b0c
commit
ac0ad98b55
11 changed files with 42 additions and 69 deletions
|
@ -34,7 +34,8 @@ Loading ~4000 images/videos
|
|||
<p align="left">
|
||||
<img src="design/nsc1.png" width="150" title="Login With Custom URL">
|
||||
<img src="design/nsc2.png" width="150" title="Backup Setting Info">
|
||||
<img src="design/nsc3.png" width="150" title="Multiple seelct">
|
||||
<img src="design/nsc3.png" width="150" title="Multiple select">
|
||||
<img src="design/nsc4.jpeg" width="150" title="Curated Search Info">
|
||||
<img src="design/nsc6.png" width="150" title="EXIF Info">
|
||||
|
||||
</p>
|
||||
|
|
BIN
design/nsc4.jpeg
Normal file
BIN
design/nsc4.jpeg
Normal file
Binary file not shown.
After Width: | Height: | Size: 406 KiB |
|
@ -1,6 +1,3 @@
|
|||
# STAGE
|
||||
NODE_ENV=development
|
||||
|
||||
# Database
|
||||
DB_USERNAME=postgres
|
||||
DB_PASSWORD=postgres
|
||||
|
|
|
@ -5,7 +5,6 @@ services:
|
|||
image: immich-server-dev:1.3.2
|
||||
build:
|
||||
context: ../server
|
||||
target: development
|
||||
dockerfile: ../server/Dockerfile
|
||||
command: npm run start:dev
|
||||
expose:
|
||||
|
@ -16,6 +15,8 @@ services:
|
|||
- /usr/src/app/node_modules
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
- NODE_ENV=development
|
||||
depends_on:
|
||||
- redis
|
||||
- database
|
||||
|
@ -26,7 +27,6 @@ services:
|
|||
image: immich-microservices-dev:1.3.2
|
||||
build:
|
||||
context: ../microservices
|
||||
target: development
|
||||
dockerfile: ../microservices/Dockerfile
|
||||
command: npm run start:dev
|
||||
expose:
|
||||
|
@ -37,6 +37,8 @@ services:
|
|||
- /usr/src/app/node_modules
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
- NODE_ENV=development
|
||||
depends_on:
|
||||
- database
|
||||
networks:
|
||||
|
|
|
@ -5,7 +5,6 @@ services:
|
|||
image: immich-server-dev:1.4.0
|
||||
build:
|
||||
context: ../server
|
||||
target: development
|
||||
dockerfile: ../server/Dockerfile
|
||||
command: npm run start:dev
|
||||
expose:
|
||||
|
@ -26,7 +25,6 @@ services:
|
|||
image: immich-microservices-dev:1.4.0
|
||||
build:
|
||||
context: ../microservices
|
||||
target: development
|
||||
dockerfile: ../microservices/Dockerfile
|
||||
command: npm run start:dev
|
||||
deploy:
|
||||
|
|
|
@ -5,7 +5,6 @@ services:
|
|||
image: immich-server:1.4.0
|
||||
build:
|
||||
context: ../server
|
||||
target: production
|
||||
dockerfile: ../server/Dockerfile
|
||||
command: npm run start:prod
|
||||
expose:
|
||||
|
@ -16,6 +15,8 @@ services:
|
|||
- /usr/src/app/node_modules
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
depends_on:
|
||||
- redis
|
||||
- database
|
||||
|
@ -26,7 +27,6 @@ services:
|
|||
image: immich-microservices:1.4.0
|
||||
build:
|
||||
context: ../microservices
|
||||
target: production
|
||||
dockerfile: ../microservices/Dockerfile
|
||||
command: npm run start:prod
|
||||
expose:
|
||||
|
@ -37,6 +37,8 @@ services:
|
|||
- /usr/src/app/node_modules
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
depends_on:
|
||||
- database
|
||||
networks:
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
##################################
|
||||
# DEVELOPMENT
|
||||
##################################
|
||||
FROM node:16-bullseye-slim AS development
|
||||
FROM node:16-bullseye-slim
|
||||
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
|
@ -17,27 +14,3 @@ RUN npm install
|
|||
COPY . .
|
||||
|
||||
RUN npm run build
|
||||
|
||||
#################################
|
||||
# PRODUCTION
|
||||
#################################
|
||||
FROM node:16-bullseye-slim AS production
|
||||
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
ARG NODE_ENV=production
|
||||
ENV NODE_ENV=${NODE_ENV}
|
||||
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
COPY package.json package-lock.json ./
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install gcc g++ make cmake python3 python3-pip ffmpeg -y
|
||||
|
||||
RUN npm install --only=production
|
||||
|
||||
COPY . .
|
||||
|
||||
COPY --from=development /usr/src/app/dist ./dist
|
||||
|
||||
CMD ["node", "dist/main"]
|
|
@ -1,10 +1,25 @@
|
|||
import { NestFactory } from '@nestjs/core';
|
||||
import { AppModule } from './app.module';
|
||||
import { Logger } from '@nestjs/common';
|
||||
|
||||
async function bootstrap() {
|
||||
const app = await NestFactory.create(AppModule);
|
||||
|
||||
await app.listen(3001);
|
||||
await app.listen(3001, () => {
|
||||
if (process.env.NODE_ENV == 'development') {
|
||||
Logger.log(
|
||||
'Running Immich Microservices in DEVELOPMENT environment',
|
||||
'IMMICH MICROSERVICES',
|
||||
);
|
||||
}
|
||||
|
||||
if (process.env.NODE_ENV == 'production') {
|
||||
Logger.log(
|
||||
'Running Immich Microservices in PRODUCTION environment',
|
||||
'IMMICH MICROSERVICES',
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
bootstrap();
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
##################################
|
||||
# DEVELOPMENT
|
||||
##################################
|
||||
FROM node:16-alpine3.14 AS development
|
||||
FROM node:16-alpine3.14
|
||||
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
|
@ -15,27 +12,4 @@ RUN npm install
|
|||
|
||||
COPY . .
|
||||
|
||||
RUN npm run build
|
||||
|
||||
#################################
|
||||
# PRODUCTION
|
||||
#################################
|
||||
FROM node:16-alpine3.14 AS production
|
||||
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
ARG NODE_ENV=production
|
||||
ENV NODE_ENV=${NODE_ENV}
|
||||
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
COPY package.json package-lock.json ./
|
||||
|
||||
RUN apk add --update-cache build-base python3
|
||||
|
||||
RUN npm install --only=production
|
||||
|
||||
COPY . .
|
||||
|
||||
COPY --from=development /usr/src/app/dist ./dist
|
||||
|
||||
CMD ["node", "dist/main"]
|
||||
RUN npm run build
|
|
@ -46,6 +46,8 @@ import { CommunicationModule } from './api-v1/communication/communication.module
|
|||
})
|
||||
export class AppModule implements NestModule {
|
||||
configure(consumer: MiddlewareConsumer): void {
|
||||
// consumer.apply(AppLoggerMiddleware).forRoutes('*');
|
||||
if (process.env.NODE_ENV == 'development') {
|
||||
consumer.apply(AppLoggerMiddleware).forRoutes('*');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import { Logger } from '@nestjs/common';
|
||||
import { NestFactory } from '@nestjs/core';
|
||||
import { NestExpressApplication } from '@nestjs/platform-express';
|
||||
import { AppModule } from './app.module';
|
||||
|
@ -10,6 +11,14 @@ async function bootstrap() {
|
|||
|
||||
app.useWebSocketAdapter(new RedisIoAdapter(app));
|
||||
|
||||
await app.listen(3000);
|
||||
await app.listen(3000, () => {
|
||||
if (process.env.NODE_ENV == 'development') {
|
||||
Logger.log('Running Immich Server in DEVELOPMENT environment', 'IMMICH SERVER');
|
||||
}
|
||||
|
||||
if (process.env.NODE_ENV == 'production') {
|
||||
Logger.log('Running Immich Server in PRODUCTION environment', 'IMMICH SERVER');
|
||||
}
|
||||
});
|
||||
}
|
||||
bootstrap();
|
||||
|
|
Loading…
Reference in a new issue