Finaliza docker compose

This commit is contained in:
LeoMortari
2025-09-14 17:43:28 -03:00
parent 63a4a002ec
commit 59106b747a
6 changed files with 23 additions and 34 deletions

7
.dockerignore Normal file
View File

@@ -0,0 +1,7 @@
node_modules
yarn.lock
package-lock.json
generated
dist
.github
.vscode

View File

@@ -1,29 +1,19 @@
FROM node:22-alpine AS builder FROM node:22-alpine
WORKDIR /usr/src/app WORKDIR /app
RUN apk add --no-cache python3 make g++
COPY package.json ./ COPY package.json ./
COPY prisma ./prisma/ COPY prisma ./prisma/
RUN yarn install --frozen-lockfile RUN yarn install
COPY . . COPY . .
RUN npx prisma generate
RUN yarn build RUN yarn build
FROM node:22-alpine ENV KEYCLOAK_URL=http://keycloak:8080
WORKDIR /usr/src/app RUN npx prisma generate
COPY --from=builder /usr/src/app/package.json ./
COPY --from=builder /usr/src/app/node_modules ./node_modules
COPY --from=builder /usr/src/app/dist ./dist
COPY --from=builder /usr/src/app/prisma ./prisma
EXPOSE 3000 EXPOSE 3000

View File

@@ -1,24 +1,16 @@
services: services:
app: clipperia-api:
build: build:
context: . context: .
dockerfile: Dockerfile dockerfile: Dockerfile
container_name: clipperia-api
ports: ports:
- '3050:3000' - '3050:3000'
environment: environment:
NODE_ENV: production NODE_ENV: development
DATABASE_URL: postgresql://postgres:postgres@db:5432/clipperia?schema=public DATABASE_URL: postgresql://leolitas:L@l321321321@154.12.229.181:5666/clipperia?schema=public
volumes:
- .:/usr/src/app
- /usr/src/app/node_modules
networks: networks:
- clipperia-network - dokploy-network
# - dokploy-network
command: ['yarn', 'start:prod']
networks: networks:
clipperia-network:
internal: true
dokploy-network: dokploy-network:
external: true external: true

View File

@@ -11,7 +11,7 @@
"start": "nest start", "start": "nest start",
"start:dev": "cross-env NODE_ENV=development nest start --watch", "start:dev": "cross-env NODE_ENV=development nest start --watch",
"start:debug": "cross-env NODE_ENV=development nest start --debug --watch", "start:debug": "cross-env NODE_ENV=development nest start --debug --watch",
"start:prod": "cross-env NODE_ENV=production node dist/main", "start:prod": "node dist/main",
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
"test": "jest", "test": "jest",
"test:watch": "jest --watch", "test:watch": "jest --watch",

View File

@@ -1,6 +1,7 @@
generator client { generator client {
provider = "prisma-client-js" provider = "prisma-client-js"
output = "../generated/prisma" output = "../generated/prisma"
binaryTargets = ["native", "linux-musl-arm64-openssl-3.0.x"]
} }
datasource db { datasource db {

View File

@@ -33,9 +33,8 @@ export interface JwtPayload {
@Injectable() @Injectable()
export class KeycloakJwtStrategy extends PassportStrategy(Strategy, 'jwt') { export class KeycloakJwtStrategy extends PassportStrategy(Strategy, 'jwt') {
constructor() { constructor() {
const baseUrl = const baseUrl = process.env.KEYCLOAK_URL
process.env.NODE_ENV === 'production' ? process.env.KEYCLOAK_URL
? 'http://keycloak:8080'
: 'https://auth.clipperia.com.br'; : 'https://auth.clipperia.com.br';
super({ super({