fix:docker

This commit is contained in:
2025-09-27 13:24:36 +02:00
parent 752cb045cd
commit dd20a12246
8 changed files with 35 additions and 39 deletions

10
.dockerignore Normal file
View File

@@ -0,0 +1,10 @@
node_modules
.env
.git
.gitignore
README.md
Dockerfile
.dockerignore
docker-compose.yml
.storybook
stories

View File

@@ -1,43 +1,18 @@
# Use Node.js 18 alpine as base image FROM node:20-alpine AS builder
FROM node:18-alpine AS base
# Set working directory
WORKDIR /app WORKDIR /app
# Copy package files
COPY package.json ./ COPY package.json ./
# Install dependencies
RUN npm install RUN npm install
# Copy source code
COPY . . COPY . .
RUN DATABASE_URL="postgres://user:pass@localhost:5432/db" npm run build
# Build the application FROM node:20-alpine AS runner
RUN npm run build
# Production stage
FROM node:18-alpine AS production
WORKDIR /app WORKDIR /app
COPY --from=builder /app ./
# Copy package files
COPY package.json ./
# Install only production dependencies
RUN npm install --only=production
# Copy built application from build stage ENV NODE_ENV=production
COPY --from=base /app/build ./build
COPY --from=base /app/static ./static
COPY --from=base /app/package.json ./
# Expose port
EXPOSE 3000 EXPOSE 3000
# Set environment
ENV NODE_ENV=production
ENV PORT=3000
# Start the application # Start the application
CMD ["node", "build"] CMD ["node", "build"]

View File

@@ -15,7 +15,7 @@ services:
app: app:
build: . build: .
ports: ports:
- 3000:3000 - 3000:4173
env_file: env_file:
- .env - .env
environment: environment:

View File

@@ -32,7 +32,7 @@
"@storybook/addon-svelte-csf": "^5.0.8", "@storybook/addon-svelte-csf": "^5.0.8",
"@storybook/addon-vitest": "^9.1.8", "@storybook/addon-vitest": "^9.1.8",
"@storybook/sveltekit": "^9.1.8", "@storybook/sveltekit": "^9.1.8",
"@sveltejs/adapter-auto": "^6.0.0", "@sveltejs/adapter-node": "^5.3.2",
"@sveltejs/kit": "^2.22.0", "@sveltejs/kit": "^2.22.0",
"@sveltejs/vite-plugin-svelte": "^6.0.0", "@sveltejs/vite-plugin-svelte": "^6.0.0",
"@types/node": "^22", "@types/node": "^22",

View File

@@ -3,7 +3,7 @@
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="manifest" href="manifest.json" /> <link rel="manifest" href="/manifest.json" />
%sveltekit.head% %sveltekit.head%
</head> </head>
<body data-sveltekit-preload-data="hover"> <body data-sveltekit-preload-data="hover">

View File

@@ -9,8 +9,13 @@ export const handle: Handle = async ({ event, resolve }) => {
// Skip CSRF check for GET/HEAD requests // Skip CSRF check for GET/HEAD requests
if (method !== 'GET' && method !== 'HEAD') { if (method !== 'GET' && method !== 'HEAD') {
// For development, allow requests without origin header or from localhost // For development, allow requests without origin header or from localhost
if (!origin || origin.includes('localhost') || origin.includes('127.0.0.1')) { if (
// Allow in development !origin ||
origin.includes('localhost') ||
origin.includes('127.0.0.1') ||
origin.includes('demo.ziasvannes.tech')
) {
// Allow in development and demo
} }
// In production, you would add: else if (origin !== 'yourdomain.com') { return new Response('Forbidden', { status: 403 }); } // In production, you would add: else if (origin !== 'yourdomain.com') { return new Response('Forbidden', { status: 403 }); }
} }

View File

@@ -1,4 +1,4 @@
import adapter from '@sveltejs/adapter-auto'; import adapter from '@sveltejs/adapter-node';
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
/** @type {import('@sveltejs/kit').Config} */ /** @type {import('@sveltejs/kit').Config} */
@@ -11,7 +11,10 @@ const config = {
// adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list. // adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list.
// If your environment is not supported, or you settled on a specific environment, switch out the adapter. // If your environment is not supported, or you settled on a specific environment, switch out the adapter.
// See https://svelte.dev/docs/kit/adapters for more information about adapters. // See https://svelte.dev/docs/kit/adapters for more information about adapters.
adapter: adapter() adapter: adapter(),
csrf: {
trustedOrigins: ['http://localhost:3000', 'https://demo.ziasvannes.tech']
}
} }
}; };

View File

@@ -2,5 +2,8 @@ import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite'; import { defineConfig } from 'vite';
export default defineConfig({ export default defineConfig({
plugins: [sveltekit()] plugins: [sveltekit()],
preview: {
allowedHosts: ['demo.ziasvannes.tech']
}
}); });