frontend docker refactor

This commit is contained in:
fred 2026-01-28 13:17:57 -08:00
parent 63e33a45b4
commit 8c7fb8c6bf
8 changed files with 30 additions and 30 deletions

View file

@ -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

View file

@ -4,8 +4,6 @@ WORKDIR /app
COPY package*.json ./
RUN apt-get update -y && apt-get install -y openssl
RUN npm install
EXPOSE 3000

View file

@ -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"
},

View file

@ -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
View 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
}
}

View file

@ -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

View file

@ -6,8 +6,6 @@ COPY package*.json ./
RUN npm install;
COPY . .
EXPOSE 80
CMD npm run dev
CMD ["npm", "run", "dev"]

View file

@ -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",