Size: a a a

NestJS — русскоязычное сообщество

2021 May 05

VA

Veaceslav Artiom in NestJS — русскоязычное сообщество
+
источник

Ю

Юрий in NestJS — русскоязычное сообщество
Я их создал, он там 100% есть в папке с проектом. Или его в папке dist нужно7
источник

Ю

Юрий in NestJS — русскоязычное сообщество
?
источник

VA

Veaceslav Artiom in NestJS — русскоязычное сообщество
Так ты покажи что за структура папок у тебя после деплоя, если у тебя /app/dist/main.js в .env файл сразу в ./app понятное дело его не будет видеть. .env нужно ставить на уровне с main.js
источник

Ю

Юрий in NestJS — русскоязычное сообщество
А как вообще правильней его деполить? Расшаривать папку dist или создавать отдельную, в которую копировать дист? Прост если шарить dist то при каждом билде будет затирать .env и static
источник

VA

Veaceslav Artiom in NestJS — русскоязычное сообщество
## Build application
FROM node:14-alpine as builder
WORKDIR /usr/src/app
COPY . .
RUN npm install
RUN npm run build

## Setup production application
FROM node:14-alpine
ENV NODE_ENV=production
ENV HTTP_PORT=3000
WORKDIR /usr/src/app
COPY --from=builder /usr/src/app/package*.json ./
COPY --from=builder /usr/src/app/dist ./
RUN npm ci --only=production --production
RUN mkdir errors

## Exposer ports and run
EXPOSE ${HTTP_PORT}
CMD ["node", "main.js"]


Я так делаю, но у меня нету того же .env все параметры идут через secrets из github.
источник

Ю

Юрий in NestJS — русскоязычное сообщество
спасибо, буду разбираться
источник

VA

Veaceslav Artiom in NestJS — русскоязычное сообщество
Ты же можешь отдавать путь где нужно искать .env файлы. Вот и сделай что при локалке у тебя ./.env а при делое через environment докера отдавай новый путь, типо ../.env. Понимаешь идею ?
источник

Ю

Юрий in NestJS — русскоязычное сообщество
Да, как раз в этом направлении и "думаю" :)
источник

VA

Veaceslav Artiom in NestJS — русскоязычное сообщество
ConfigModule.forRoot({
 envFilePath: process.env.ENV_PATH || '.env',
});

*** DOCKER
environment:
     - ENV_PATH=../myFolderWithSecrets/.env.prod
источник

MA

Maxim Antsiferov in NestJS — русскоязычное сообщество
Я бы вообще энв файлы в проде не использовал, это сугубо для разработчиков
источник

VA

Veaceslav Artiom in NestJS — русскоязычное сообщество
согласен, но для начала ему будет норм. Потом поймет что куда лучше раскидывать, пусть не тратит время на этот момент, а лучше дело по интереснее займется )
источник

MA

Maxim Antsiferov in NestJS — русскоязычное сообщество
Тогда если используется докер, то лучше использовать env-file, который прокинет сами параметры в контейнер
источник

A

Alexey in NestJS — русскоязычное сообщество
Ребят всем привет, реализовываю graphql сервер, schema first. Есть ли возможность при такой реализации заполнить схему (enum) данными из базы?
источник

BY

Bitalik Yatsenko in NestJS — русскоязычное сообщество
А что тогда использовать в проде вместо .env ? куда ключи и доступы складывать?
источник

MA

Maxim Antsiferov in NestJS — русскоязычное сообщество
Смотря как запускается образ, у нас этим всем кубернетис рулит
источник

BY

Bitalik Yatsenko in NestJS — русскоязычное сообщество
А если допустим просто через pm2 запускаеться или просто через docker-compose
источник

MA

Maxim Antsiferov in NestJS — русскоязычное сообщество
В docker-compose можно .env файл добавить, с которого параметры пробросятся в контейнер
источник

MA

Maxim Antsiferov in NestJS — русскоязычное сообщество
источник

MA

Maxim Antsiferov in NestJS — русскоязычное сообщество
Как в случае с pm2 хз, но скорее всего есть способ сделать нормально, чтоб контейнер не знал ничего о файлах конфигурации
источник