Compare commits

..

No commits in common. "2e094b0453768d37694ca641d8606022025cf333" and "cb7d58458900041cf6b0e301d91b15d7f4167565" have entirely different histories.

5 changed files with 30 additions and 50 deletions

View File

@ -1,23 +1,15 @@
# Используем официальный Node.js образ
FROM node:18
FROM node:18.20.7-alpine
# Устанавливаем рабочую директорию внутри контейнера
WORKDIR /app
# Копируем package*.json
COPY package*.json ./
COPY ./package*.json .
# Устанавливаем зависимости
RUN npm install
RUN npm ci
# Копируем весь код
COPY . .
# Собираем TypeScript
RUN npm run build
# Открываем порт 3000
EXPOSE 3000
# Запускаем NestJS в продакшене
CMD ["npm", "run", "start:prod"]
CMD ["npm", "run", "start"]

View File

@ -1,8 +1,25 @@
version: "3.8"
services:
db:
container_name: nestjs_db
backend:
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
container_name: postgres_container
restart: always
environment:
POSTGRES_USER: nichtar
@ -11,23 +28,7 @@ services:
ports:
- "5432:5432"
volumes:
- db_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
- postgres_data:/var/lib/postgresql/data
volumes:
db_data:
postgres_data:

View File

@ -15,7 +15,7 @@
"@nestjs/jwt": "^11.0.0",
"@nestjs/passport": "^11.0.5",
"@nestjs/platform-express": "^11.0.1",
"@nestjs/swagger": "^11.0.5",
"@nestjs/swagger": "^11.0.4",
"@nestjs/typeorm": "^11.0.0",
"bcrypt": "^5.1.1",
"passport": "^0.7.0",
@ -2470,9 +2470,9 @@
}
},
"node_modules/@nestjs/swagger": {
"version": "11.0.5",
"resolved": "https://registry.npmjs.org/@nestjs/swagger/-/swagger-11.0.5.tgz",
"integrity": "sha512-3z4rl7FgbLPBvJwR45nBDju4QFH7vufs9Ums8sCoc6T1O1dqpNpxz0sKfXiP5QA6AUljks1jARfOHeHeJ4zWBA==",
"version": "11.0.4",
"resolved": "https://registry.npmjs.org/@nestjs/swagger/-/swagger-11.0.4.tgz",
"integrity": "sha512-wrdeQucHirv5hakCgFn34GANmqHG0//X0GF+VumYjEeE3H4AGtztbbgwnw/9XeqVM4mD2HjUFx5WYtJMpJvnWQ==",
"dependencies": {
"@microsoft/tsdoc": "0.15.1",
"@nestjs/mapped-types": "2.1.0",

View File

@ -26,7 +26,7 @@
"@nestjs/jwt": "^11.0.0",
"@nestjs/passport": "^11.0.5",
"@nestjs/platform-express": "^11.0.1",
"@nestjs/swagger": "^11.0.5",
"@nestjs/swagger": "^11.0.4",
"@nestjs/typeorm": "^11.0.0",
"bcrypt": "^5.1.1",
"passport": "^0.7.0",

View File

@ -1,6 +1,5 @@
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
@ -8,18 +7,6 @@ async function bootstrap() {
app.setGlobalPrefix('api'); // Все маршруты будут начинаться с `/api`
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);
console.log('🚀 Server running on http://localhost:3000/api');
}