mirror of
https://github.com/vernu/textbee.git
synced 2026-05-18 05:14:49 -04:00
Update Docker setup with LTS Node version, define environment variables and services in docker-compose, and configure web application Dockerfile with multi-stage builds.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
PORT=
|
||||
MONGO_URI=
|
||||
MONGO_URI=mongodb://mongo:27017/textbee
|
||||
JWT_SECRET=secret
|
||||
JWT_EXPIRATION=60d
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM node:18-alpine AS base
|
||||
FROM node:lts-alpine AS base
|
||||
RUN npm i -g pnpm
|
||||
WORKDIR /app
|
||||
COPY package.json pnpm-lock.yaml ./
|
||||
@@ -13,7 +13,7 @@ FROM base AS build
|
||||
ENV NODE_ENV=production
|
||||
RUN pnpm build
|
||||
|
||||
FROM node:18-alpine AS prod
|
||||
FROM node:lts-alpine AS prod
|
||||
ENV NODE_ENV=production
|
||||
WORKDIR /app
|
||||
RUN npm i -g pnpm
|
||||
|
||||
31
docker-compose.yaml
Normal file
31
docker-compose.yaml
Normal file
@@ -0,0 +1,31 @@
|
||||
services:
|
||||
textbee-web:
|
||||
image: textbee-web
|
||||
container_name: textbee-web
|
||||
build:
|
||||
context: ./web
|
||||
dockerfile: Dockerfile
|
||||
ports:
|
||||
- "3000:3000"
|
||||
env_file:
|
||||
- path: ./web/.env
|
||||
required: true
|
||||
command: pnpm start
|
||||
textbee-api:
|
||||
image: textbee-api
|
||||
container_name: textbee-api
|
||||
build:
|
||||
context: ./api
|
||||
dockerfile: Dockerfile
|
||||
ports:
|
||||
- "3005:3005"
|
||||
env_file:
|
||||
- path: ./api/.env
|
||||
required: true
|
||||
depends_on:
|
||||
- mongo
|
||||
mongo:
|
||||
image: mongo
|
||||
container_name: mongo
|
||||
ports:
|
||||
- "27017:27017"
|
||||
18
web/Dockerfile
Normal file
18
web/Dockerfile
Normal file
@@ -0,0 +1,18 @@
|
||||
FROM node:lts-alpine AS base
|
||||
|
||||
# Stage 1: Install web dependencies
|
||||
FROM base AS web-deps
|
||||
WORKDIR /app
|
||||
COPY package.json pnpm-lock.yaml ./
|
||||
RUN corepack enable pnpm && pnpm install --frozen-lockfile
|
||||
|
||||
# Stage 2: Build the web application
|
||||
FROM base AS web-builder
|
||||
ENV NODE_ENV=production
|
||||
EXPOSE 3000
|
||||
WORKDIR /app
|
||||
COPY . .
|
||||
COPY --from=web-deps /app/node_modules ./node_modules
|
||||
RUN corepack enable pnpm && pnpm run vercel-build
|
||||
|
||||
CMD ["pnpm", "start"]
|
||||
Reference in New Issue
Block a user