Update Dockerfile; fix index.html and add build scripts

This commit is contained in:
Tobias Hopp 2025-04-15 15:38:10 +02:00
parent 130dd4922d
commit e7b4456ddb
6 changed files with 45 additions and 8 deletions

1
.dockerignore Normal file
View File

@ -0,0 +1 @@
node_modules

View File

@ -1,8 +1,41 @@
FROM node:18 as builder
# syntax=docker/dockerfile:1
FROM node:22 AS frontend-builder
# Workingdir
WORKDIR /frontend
# Copy files
COPY frontend/src/ src/
COPY frontend/package.json .
COPY frontend/index.html .
COPY frontend/tsconfig.json .
COPY frontend/vite.config.js .
# Install libs
RUN yarn install
# Build to dist/
RUN yarn build
FROM node:22 AS backend-builder
# Workingdir
WORKDIR /app
COPY package.json /app
RUN yarn
COPY package.json .
RUN yarn install
COPY tsconfig.json .
COPY src/ src/
# Build to dist/
RUN yarn run build
# Final stage
FROM node:22
COPY --from=frontend-builder /frontend/dist/ /app/frontend/dist
COPY --from=backend-builder /app/dist /app/dist
COPY package.json .
CMD ["yarn", "run", "start"]

1
frontend/.dockerignore Normal file
View File

@ -0,0 +1 @@
node_modules

View File

@ -8,6 +8,6 @@
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.jsx"></script>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>

View File

@ -16,7 +16,10 @@
"axios": "^1.8.4",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"react-router-dom": "^7.5.0"
"react-router-dom": "^7.5.0",
"ts-node": "^10.9.2",
"typescript": "^5.8.3",
"vite": "^6.2.6"
},
"devDependencies": {
"@types/axios": "^0.14.4",
@ -25,9 +28,7 @@
"@types/react-router-dom": "^5.3.3",
"@vitejs/plugin-react": "^4.4.0",
"prettier": "^3.5.3",
"ts-node": "^10.9.2",
"typescript": "^5.8.3",
"vite": "^6.2.6",
"webpack": "^5.99.5",
"webpack-cli": "^6.0.1"
}

View File

@ -6,6 +6,7 @@
"start": "node dist/server.js",
"dev": "nodemon --exec ts-node src/server.ts",
"build": "tsc",
"build:all": "npm run build && cd frontend && npm run build",
"format": "prettier --write \"src/**/*.{ts,js,json}\"",
"format:check": "prettier --check \"src/**/*.{ts,js,json}\"",
"format:all": "npm run format && cd frontend && npm run format"