Compare commits
No commits in common. "2e094b0453768d37694ca641d8606022025cf333" and "cb7d58458900041cf6b0e301d91b15d7f4167565" have entirely different histories.
2e094b0453
...
cb7d584589
@ -1,23 +1,15 @@
|
|||||||
# Используем официальный Node.js образ
|
FROM node:18.20.7-alpine
|
||||||
FROM node:18
|
|
||||||
|
|
||||||
# Устанавливаем рабочую директорию внутри контейнера
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Копируем package*.json
|
COPY ./package*.json .
|
||||||
COPY package*.json ./
|
|
||||||
|
|
||||||
# Устанавливаем зависимости
|
RUN npm ci
|
||||||
RUN npm install
|
|
||||||
|
|
||||||
# Копируем весь код
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
# Собираем TypeScript
|
|
||||||
RUN npm run build
|
RUN npm run build
|
||||||
|
|
||||||
# Открываем порт 3000
|
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
|
|
||||||
# Запускаем NestJS в продакшене
|
CMD ["npm", "run", "start"]
|
||||||
CMD ["npm", "run", "start:prod"]
|
|
||||||
@ -1,8 +1,25 @@
|
|||||||
version: "3.8"
|
version: "3.8"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
db:
|
backend:
|
||||||
container_name: nestjs_db
|
container_name: nestjs_backend
|
||||||
|
build: .
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
environment:
|
||||||
|
DB_HOST: 109.107.166.17
|
||||||
|
DB_PORT: 5432
|
||||||
|
DB_USER: nichtar
|
||||||
|
DB_PASSWORD: 6t30a72
|
||||||
|
DB_NAME: todo
|
||||||
|
JWT_SECRET: your_secret_key
|
||||||
|
JWT_EXPIRES_IN: 3600s
|
||||||
|
depends_on:
|
||||||
|
- postgres
|
||||||
|
|
||||||
|
postgres:
|
||||||
image: postgres:latest
|
image: postgres:latest
|
||||||
|
container_name: postgres_container
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_USER: nichtar
|
POSTGRES_USER: nichtar
|
||||||
@ -11,23 +28,7 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "5432:5432"
|
- "5432:5432"
|
||||||
volumes:
|
volumes:
|
||||||
- db_data:/var/lib/postgresql/data
|
- postgres_data:/var/lib/postgresql/data
|
||||||
|
|
||||||
backend:
|
|
||||||
container_name: nestjs_backend
|
|
||||||
build: .
|
|
||||||
ports:
|
|
||||||
- "3000:3000"
|
|
||||||
depends_on:
|
|
||||||
- db
|
|
||||||
environment:
|
|
||||||
DB_HOST: db
|
|
||||||
DB_PORT: 5432
|
|
||||||
DB_USER: nichtar
|
|
||||||
DB_PASSWORD: 6t30a72
|
|
||||||
DB_NAME: todo
|
|
||||||
JWT_SECRET: your_secret_key
|
|
||||||
JWT_EXPIRES_IN: 3600s
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
db_data:
|
postgres_data:
|
||||||
|
|||||||
8
nestjs/backend/package-lock.json
generated
8
nestjs/backend/package-lock.json
generated
@ -15,7 +15,7 @@
|
|||||||
"@nestjs/jwt": "^11.0.0",
|
"@nestjs/jwt": "^11.0.0",
|
||||||
"@nestjs/passport": "^11.0.5",
|
"@nestjs/passport": "^11.0.5",
|
||||||
"@nestjs/platform-express": "^11.0.1",
|
"@nestjs/platform-express": "^11.0.1",
|
||||||
"@nestjs/swagger": "^11.0.5",
|
"@nestjs/swagger": "^11.0.4",
|
||||||
"@nestjs/typeorm": "^11.0.0",
|
"@nestjs/typeorm": "^11.0.0",
|
||||||
"bcrypt": "^5.1.1",
|
"bcrypt": "^5.1.1",
|
||||||
"passport": "^0.7.0",
|
"passport": "^0.7.0",
|
||||||
@ -2470,9 +2470,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@nestjs/swagger": {
|
"node_modules/@nestjs/swagger": {
|
||||||
"version": "11.0.5",
|
"version": "11.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/@nestjs/swagger/-/swagger-11.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/@nestjs/swagger/-/swagger-11.0.4.tgz",
|
||||||
"integrity": "sha512-3z4rl7FgbLPBvJwR45nBDju4QFH7vufs9Ums8sCoc6T1O1dqpNpxz0sKfXiP5QA6AUljks1jARfOHeHeJ4zWBA==",
|
"integrity": "sha512-wrdeQucHirv5hakCgFn34GANmqHG0//X0GF+VumYjEeE3H4AGtztbbgwnw/9XeqVM4mD2HjUFx5WYtJMpJvnWQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@microsoft/tsdoc": "0.15.1",
|
"@microsoft/tsdoc": "0.15.1",
|
||||||
"@nestjs/mapped-types": "2.1.0",
|
"@nestjs/mapped-types": "2.1.0",
|
||||||
|
|||||||
@ -26,7 +26,7 @@
|
|||||||
"@nestjs/jwt": "^11.0.0",
|
"@nestjs/jwt": "^11.0.0",
|
||||||
"@nestjs/passport": "^11.0.5",
|
"@nestjs/passport": "^11.0.5",
|
||||||
"@nestjs/platform-express": "^11.0.1",
|
"@nestjs/platform-express": "^11.0.1",
|
||||||
"@nestjs/swagger": "^11.0.5",
|
"@nestjs/swagger": "^11.0.4",
|
||||||
"@nestjs/typeorm": "^11.0.0",
|
"@nestjs/typeorm": "^11.0.0",
|
||||||
"bcrypt": "^5.1.1",
|
"bcrypt": "^5.1.1",
|
||||||
"passport": "^0.7.0",
|
"passport": "^0.7.0",
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
import { NestFactory } from '@nestjs/core';
|
import { NestFactory } from '@nestjs/core';
|
||||||
import { AppModule } from './app.module';
|
import { AppModule } from './app.module';
|
||||||
import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';
|
|
||||||
|
|
||||||
async function bootstrap() {
|
async function bootstrap() {
|
||||||
const app = await NestFactory.create(AppModule);
|
const app = await NestFactory.create(AppModule);
|
||||||
@ -8,18 +7,6 @@ async function bootstrap() {
|
|||||||
app.setGlobalPrefix('api'); // Все маршруты будут начинаться с `/api`
|
app.setGlobalPrefix('api'); // Все маршруты будут начинаться с `/api`
|
||||||
app.enableCors(); // Разрешаем CORS
|
app.enableCors(); // Разрешаем CORS
|
||||||
|
|
||||||
// Настройка Swagger
|
|
||||||
const config = new DocumentBuilder()
|
|
||||||
.setTitle('Project Management API')
|
|
||||||
.setDescription('API documentation for NestJS + Docker project')
|
|
||||||
.setVersion('1.0')
|
|
||||||
.addBearerAuth() // Добавляем поддержку JWT (Bearer)
|
|
||||||
.build();
|
|
||||||
|
|
||||||
const document = SwaggerModule.createDocument(app, config);
|
|
||||||
SwaggerModule.setup('api/docs', app, document);
|
|
||||||
// Теперь Swagger доступен по /api/docs
|
|
||||||
|
|
||||||
await app.listen(3000);
|
await app.listen(3000);
|
||||||
console.log('🚀 Server running on http://localhost:3000/api');
|
console.log('🚀 Server running on http://localhost:3000/api');
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user