Implement backend API and database services in Docker setup
- Added a new `api` service for the NestJS backend, including health checks and dependencies on PostgreSQL, Redis, and MinIO. - Introduced PostgreSQL and Redis services with health checks and configurations for data persistence. - Added MinIO for S3-compatible object storage and a one-shot service to initialize required buckets. - Updated the Nginx configuration to proxy requests to the new backend API and MinIO storage. - Enhanced the Dockerfile to support the new API environment variables and configurations. - Updated the `package.json` and `package-lock.json` to include new dependencies for QR code generation and other utilities. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
165
backend/package.json
Normal file
165
backend/package.json
Normal file
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"name": "indeehub-api",
|
||||
"version": "0.0.1",
|
||||
"private": true,
|
||||
"description": "",
|
||||
"license": "UNLICENSED",
|
||||
"author": "",
|
||||
"scripts": {
|
||||
"build": "nest build",
|
||||
"commit": "npx git-cz",
|
||||
"commit:FORCE": "npx git-cz -n",
|
||||
"lint": "npx eslint . --cache",
|
||||
"lint:fix": "npx eslint . --cache --fix",
|
||||
"lint:staged": "npx eslint --cache --fix --max-warnings 0 --no-warn-ignored",
|
||||
"prepare": "husky",
|
||||
"start": "nest start",
|
||||
"start:debug": "nest start --debug --watch",
|
||||
"start:dev": "nest start --watch",
|
||||
"start:prod": "node dist/main",
|
||||
"test": "jest",
|
||||
"test:cov": "jest --coverage",
|
||||
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
|
||||
"test:e2e": "jest --config ./test/jest-e2e.json",
|
||||
"test:watch": "jest --watch",
|
||||
"typeorm": "ts-node ./node_modules/typeorm/cli",
|
||||
"typeorm:create-migration": "npm run typeorm -- migration:create src/database/migrations/$npm_config_name",
|
||||
"typeorm:generate-migration": "npm run typeorm -- -d src/database/ormconfig.ts migration:generate src/database/migrations/$npm_config_name",
|
||||
"typeorm:revert-migration": "npm run typeorm -- -d src/database/ormconfig.ts migration:revert",
|
||||
"typeorm:run-migrations": "npm run typeorm migration:run -- -d src/database/ormconfig.ts"
|
||||
},
|
||||
"config": {
|
||||
"commitizen": {
|
||||
"path": "@commitlint/cz-commitlint"
|
||||
}
|
||||
},
|
||||
"jest": {
|
||||
"collectCoverage": true,
|
||||
"collectCoverageFrom": [
|
||||
"nostr-auth/nostr-auth.service.ts",
|
||||
"nostr-auth/nostr-auth.guard.ts",
|
||||
"auth/nostr-session.service.ts",
|
||||
"!**/*.spec.ts",
|
||||
"!**/node_modules/**",
|
||||
"!**/dist/**"
|
||||
],
|
||||
"coverageDirectory": "../coverage",
|
||||
"coveragePathIgnorePatterns": [
|
||||
"/node_modules/",
|
||||
"/dist/"
|
||||
],
|
||||
"coverageReporters": [
|
||||
"json",
|
||||
"lcov",
|
||||
"text",
|
||||
"clover"
|
||||
],
|
||||
"moduleFileExtensions": [
|
||||
"js",
|
||||
"json",
|
||||
"ts"
|
||||
],
|
||||
"moduleNameMapper": {
|
||||
"^src/(.*)$": "<rootDir>/$1"
|
||||
},
|
||||
"rootDir": "src",
|
||||
"testEnvironment": "node",
|
||||
"testRegex": ".*\\.spec\\.ts$",
|
||||
"transform": {
|
||||
"^.+\\.ts$": "ts-jest"
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-auto-scaling": "^3.917.0",
|
||||
"@aws-sdk/client-cognito-identity-provider": "^3.966.0",
|
||||
"@aws-sdk/client-ecs": "^3.699.0",
|
||||
"@aws-sdk/client-s3": "^3.917.0",
|
||||
"@aws-sdk/client-secrets-manager": "^3.950.0",
|
||||
"@aws-sdk/cloudfront-signer": "^3.966.0",
|
||||
"@aws-sdk/s3-request-presigner": "^3.654.0",
|
||||
"@aws-sdk/url-parser": "^3.374.0",
|
||||
"@aws-sdk/util-format-url": "^3.734.0",
|
||||
"@logtail/node": "^0.5.0",
|
||||
"@nestjs/bullmq": "^11.0.4",
|
||||
"@nestjs/cache-manager": "^3.0.0",
|
||||
"@nestjs/common": "^11.0.11",
|
||||
"@nestjs/config": "^4.0.2",
|
||||
"@nestjs/core": "^11.1.9",
|
||||
"@nestjs/passport": "^11.0.5",
|
||||
"@nestjs/platform-express": "^11.1.6",
|
||||
"@nestjs/platform-socket.io": "^11.0.10",
|
||||
"@nestjs/schedule": "^5.0.1",
|
||||
"@nestjs/swagger": "^11.2.3",
|
||||
"@nestjs/throttler": "^6.5.0",
|
||||
"@nestjs/typeorm": "^11.0.0",
|
||||
"@nestjs/websockets": "^11.0.11",
|
||||
"@sendgrid/mail": "^8.1.4",
|
||||
"@sentry/cli": "^2.38.2",
|
||||
"@sentry/nestjs": "^9.0.1",
|
||||
"@sentry/profiling-node": "^9.0.1",
|
||||
"@smithy/hash-node": "^4.2.5",
|
||||
"@smithy/protocol-http": "^5.0.1",
|
||||
"@types/jsonwebtoken": "^9.0.10",
|
||||
"@zbd/node": "^0.6.4",
|
||||
"amazon-cognito-identity-js": "^6.3.12",
|
||||
"aws-jwt-verify": "^5.1.1",
|
||||
"axios": "^1.8.3",
|
||||
"bullmq": "^5.14.0",
|
||||
"cache-manager": "^6.4.0",
|
||||
"class-transformer": "^0.5.1",
|
||||
"class-validator": "^0.14.1",
|
||||
"dayjs": "^1.11.13",
|
||||
"fast-xml-parser": "^5.2.0",
|
||||
"jsonwebtoken": "^9.0.3",
|
||||
"jwks-rsa": "^3.0.1",
|
||||
"moment": "^2.30.1",
|
||||
"nodemailer": "^6.9.0",
|
||||
"nostr-tools": "^2.19.3",
|
||||
"passport": "^0.7.0",
|
||||
"passport-jwt": "^4.0.1",
|
||||
"pg": "^8.16.3",
|
||||
"reflect-metadata": "^0.2.2",
|
||||
"rss": "^1.2.2",
|
||||
"rxjs": "^7.8.1",
|
||||
"socket.io": "^4.8.1",
|
||||
"stripe": "^17.4.0",
|
||||
"typeorm": "^0.3.27",
|
||||
"typeorm-naming-strategies": "^4.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@commitlint/cli": "^19.6.1",
|
||||
"@commitlint/config-conventional": "^19.5.0",
|
||||
"@commitlint/cz-commitlint": "^20.1.0",
|
||||
"@eslint/eslintrc": "^3.3.0",
|
||||
"@eslint/js": "^9.39.2",
|
||||
"@nestjs/cli": "^11.0.14",
|
||||
"@nestjs/schematics": "^11.0.1",
|
||||
"@nestjs/testing": "^11.0.10",
|
||||
"@types/express": "^5.0.0",
|
||||
"@types/jest": "^29.5.14",
|
||||
"@types/node": "^25.0.6",
|
||||
"@types/rss": "^0.0.32",
|
||||
"@types/socket.io": "^3.0.2",
|
||||
"@types/supertest": "^6.0.2",
|
||||
"@typescript-eslint/eslint-plugin": "^8.46.1",
|
||||
"@typescript-eslint/parser": "^8.24.1",
|
||||
"commitizen": "^4.3.0",
|
||||
"commitlint-config-gitmoji": "^2.3.1",
|
||||
"eslint-config-prettier": "^10.0.1",
|
||||
"eslint-import-resolver-typescript": "^3.6.3",
|
||||
"eslint-plugin-import": "^2.31.0",
|
||||
"eslint-plugin-prettier": "^5.5.4",
|
||||
"eslint-plugin-unicorn": "^56.0.0",
|
||||
"husky": "^9.1.6",
|
||||
"jest": "^29.5.0",
|
||||
"lint-staged": "^16.2.4",
|
||||
"prettier": "^3.3.3",
|
||||
"source-map-support": "^0.5.21",
|
||||
"supertest": "^7.0.0",
|
||||
"ts-jest": "^29.2.5",
|
||||
"ts-loader": "^9.5.1",
|
||||
"ts-node": "^10.9.2",
|
||||
"tsconfig-paths": "^4.2.0",
|
||||
"typescript": "^5.9.3"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user