frontend docker refactor
This commit is contained in:
parent
63e33a45b4
commit
8c7fb8c6bf
8 changed files with 30 additions and 30 deletions
|
|
@ -6,7 +6,10 @@ COPY package*.json tsconfig*.json prisma.config.ts ./
|
|||
COPY prisma ./prisma
|
||||
COPY src ./src
|
||||
|
||||
RUN apt-get update -y && apt-get install -y openssl
|
||||
RUN apt-get update -y && \
|
||||
apt-get install -y openssl && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN npm install --omit=dev
|
||||
RUN npm run prisma:generate
|
||||
|
||||
|
|
@ -18,9 +21,6 @@ RUN npm run build
|
|||
FROM base
|
||||
COPY --from=builder /app/dist ./dist
|
||||
COPY --from=builder /app/prisma ./prisma
|
||||
# COPY --from=builder /app/node_modules ./node_modules
|
||||
COPY prisma.config.ts /app/
|
||||
|
||||
|
||||
EXPOSE 3000
|
||||
|
||||
|
|
|
|||
|
|
@ -4,8 +4,6 @@ WORKDIR /app
|
|||
|
||||
COPY package*.json ./
|
||||
|
||||
RUN apt-get update -y && apt-get install -y openssl
|
||||
|
||||
RUN npm install
|
||||
|
||||
EXPOSE 3000
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@
|
|||
"cors": "^2.8.5",
|
||||
"dotenv": "^17.0.1",
|
||||
"express": "^5.1.0",
|
||||
"knex": "^3.1.0",
|
||||
"pg": "^8.17.2",
|
||||
"prisma": "7.2.0"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -9,8 +9,6 @@ services:
|
|||
- POSTGRES_USER=${DB_USER}
|
||||
- POSTGRES_PASSWORD=${DB_PASSWORD}
|
||||
- POSTGRES_DB=${DB_NAME}
|
||||
ports:
|
||||
- "${DB_PORT}:5432"
|
||||
volumes:
|
||||
- ./db:/var/lib/postgresql/data
|
||||
backend:
|
||||
|
|
@ -19,10 +17,7 @@ services:
|
|||
restart: unless-stopped
|
||||
build:
|
||||
context: ./backend
|
||||
ports:
|
||||
- "${BACKEND_PORT}:3000"
|
||||
volumes:
|
||||
- ./backend:/usr/src/app
|
||||
- ./logs:/logs
|
||||
environment:
|
||||
- DB_USER=${DB_USER}
|
||||
|
|
@ -34,9 +29,6 @@ services:
|
|||
image: forgejo.fredzernia.com/fred/recipes_frontend:latest
|
||||
restart: unless-stopped
|
||||
build:
|
||||
context: ./backend
|
||||
context: ./frontend
|
||||
ports:
|
||||
- "${FRONTEND_PORT}:80"
|
||||
volumes:
|
||||
- ./frontend:/usr/src/app
|
||||
- ./dist/recipes_frontend:/usr/src/app/dist
|
||||
|
|
|
|||
13
frontend/Caddyfile
Normal file
13
frontend/Caddyfile
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
:80 {
|
||||
# Backend
|
||||
handle /api/* {
|
||||
reverse_proxy recipes_backend:3000
|
||||
}
|
||||
|
||||
# Frontend
|
||||
handle {
|
||||
root * /srv/
|
||||
try_files {path} /index.html
|
||||
file_server
|
||||
}
|
||||
}
|
||||
|
|
@ -1,13 +1,15 @@
|
|||
FROM node:22-alpine
|
||||
FROM node:22-alpine AS builder
|
||||
|
||||
WORKDIR /usr/src/app
|
||||
WORKDIR /app
|
||||
COPY package*.json tsconfig*.json postcss.config.js tailwind.config.js eslint.config.js vite.config.ts index.html ./
|
||||
COPY src ./src
|
||||
|
||||
COPY package*.json ./
|
||||
RUN apk update && apk upgrade
|
||||
RUN npm install
|
||||
RUN npm run build
|
||||
|
||||
RUN if [ "$NODE_ENV" = "dev" ]; then npm install; else npm install --omit=dev; fi
|
||||
|
||||
COPY . .
|
||||
FROM caddy:2.10
|
||||
COPY Caddyfile /etc/caddy/Caddyfile
|
||||
COPY --from=builder /app/dist /srv
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
CMD npm run $NODE_ENV
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@ COPY package*.json ./
|
|||
|
||||
RUN npm install;
|
||||
|
||||
COPY . .
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
CMD npm run dev
|
||||
CMD ["npm", "run", "dev"]
|
||||
|
|
|
|||
|
|
@ -5,9 +5,7 @@
|
|||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite --host 0.0.0.0 --port 80",
|
||||
"production": "npx tsc -b && vite build",
|
||||
"ci": "tsc -b && vite build",
|
||||
"lint": "eslint ."
|
||||
"build": "tsc -b && vite build"
|
||||
},
|
||||
"dependencies": {
|
||||
"react": "^19.1.0",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue