diff --git a/backend/.gitignore b/backend/.gitignore index 46f8d64..63e45b1 100644 --- a/backend/.gitignore +++ b/backend/.gitignore @@ -2,3 +2,4 @@ node_modules local.db drizzle bun.lockb +dist diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100644 index 0000000..01323f2 --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,23 @@ +FROM oven/bun:latest AS build + +WORKDIR /app + +COPY package.json ./ + +COPY bun.lock ./ + +RUN bun install + +COPY src ./src + +RUN ls && bun run build + +FROM oven/bun:latest AS run + +WORKDIR /app + +COPY --from=build /app/dist/ . + +EXPOSE 3000 + +CMD ["bun", "run", "main.js"] diff --git a/backend/package.json b/backend/package.json index 402c7b2..f4972af 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,19 +1,21 @@ { - "dependencies": { - "@clerk/express": "^1.7.4", - "@libsql/client": "^0.15.9", - "@types/express": "^5.0.1", - "cors": "^2.8.5", - "dotenv": "^16.5.0", - "drizzle-orm": "^0.44.2", - "express": "^5.1.0", - "socket.io": "^4.8.1" - }, - "scripts": { - "dev": "bun run --watch src/main.ts" - }, - "devDependencies": { - "drizzle-kit": "^0.31.1", - "tsx": "^4.20.3" - } -} \ No newline at end of file + "main": "src/main.ts", + "dependencies": { + "@clerk/express": "^1.7.4", + "@libsql/client": "^0.15.9", + "@types/express": "^5.0.1", + "cors": "^2.8.5", + "dotenv": "^16.5.0", + "drizzle-orm": "^0.44.2", + "express": "^5.1.0", + "socket.io": "^4.8.1" + }, + "scripts": { + "dev": "bun run --watch src/main.ts", + "build": "bun build src/main.ts --outdir ./dist --target bun" + }, + "devDependencies": { + "drizzle-kit": "^0.31.1", + "tsx": "^4.20.3" + } +}