From c0336a79207036c89db74a816d1abdc8a1368d6f Mon Sep 17 00:00:00 2001 From: phillip Date: Fri, 8 Aug 2025 19:52:56 +0200 Subject: [PATCH] Dateien nach "/" hochladen --- Dockerfile | 18 ++++++++++++++++++ nginx.conf | 19 +++++++++++++++++++ package.json | 22 ++++++++++++++++++++++ postcss.config.js | 6 ++++++ tailwind.config.js | 11 +++++++++++ 5 files changed, 76 insertions(+) create mode 100644 Dockerfile create mode 100644 nginx.conf create mode 100644 package.json create mode 100644 postcss.config.js create mode 100644 tailwind.config.js diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..62ee89d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,18 @@ +# Stage 1 — build the Vite app with Tailwind +FROM node:20-alpine AS builder +WORKDIR /app + +COPY package.json package-lock.json* ./ +RUN npm ci --prefer-offline --no-audit --no-fund + +COPY . . +RUN npm run build + +# Stage 2 — serve with nginx +FROM nginx:stable-alpine AS runtime +RUN rm -rf /usr/share/nginx/html/* +COPY --from=builder /app/dist /usr/share/nginx/html +COPY nginx.conf /etc/nginx/conf.d/default.conf + +EXPOSE 80 +CMD ["nginx", "-g", "daemon off;"] diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..70a1d2a --- /dev/null +++ b/nginx.conf @@ -0,0 +1,19 @@ +server { + listen 80; + server_name _; + + root /usr/share/nginx/html; + index index.html; + + location / { + try_files $uri $uri/ /index.html; + } + + location ~* \.(?:css|js|json|png|jpg|jpeg|gif|svg|ico|woff2?)$ { + try_files $uri =404; + expires 7d; + add_header Cache-Control "public, max-age=604800, immutable"; + } + + access_log off; +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..5ea2d20 --- /dev/null +++ b/package.json @@ -0,0 +1,22 @@ +{ + "name": "csv-card-viewer", + "version": "1.0.0", + "private": true, + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview --port 5173" + }, + "dependencies": { + "papaparse": "^5.4.1", + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@vitejs/plugin-react": "^4.0.0", + "autoprefixer": "^10.4.14", + "postcss": "^8.4.24", + "tailwindcss": "^3.3.2", + "vite": "^5.2.0" + } +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..2e7af2b --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..990564a --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,11 @@ +export default { + darkMode: 'class', + content: [ + "./index.html", + "./src/**/*.{js,ts,jsx,tsx}", + ], + theme: { + extend: {}, + }, + plugins: [], +}