From 6813f41d56267dc36030e4859c609e2572a52f2d Mon Sep 17 00:00:00 2001 From: June Date: Tue, 17 Feb 2026 18:43:28 +1300 Subject: [PATCH] first attempt at a dockerfile and compose update --- Dockerfile | 42 ++++++++++++++++++++++++++++++++++++++++++ compose.yaml | 23 ++++++++++++++++++++--- 2 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..301f920 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,42 @@ +# Build stage +FROM node:22-alpine AS builder + +WORKDIR /app + +# Copy package files +COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ + +# Install pnpm +RUN npm install -g pnpm + +# Install dependencies +RUN pnpm install --frozen-lockfile + +# Copy source code +COPY . . + +# Build the application +RUN pnpm run build + +# Production stage +FROM node:22-alpine + +WORKDIR /app + +# Copy package files from builder +COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ + +# Install pnpm +RUN npm install -g pnpm + +# Install only production dependencies +RUN pnpm install --frozen-lockfile --prod + +# Copy built application from builder +COPY --from=builder /app/build ./build + +# Expose port (SvelteKit Node adapter default) +EXPOSE 5173 + +# Start the application +CMD ["node", "build"] diff --git a/compose.yaml b/compose.yaml index d65b7c4..7bf5cfb 100644 --- a/compose.yaml +++ b/compose.yaml @@ -2,11 +2,28 @@ services: db: image: postgres restart: always - ports: - - 5432:5432 + # ports: + # - 5432:5432 environment: POSTGRES_USER: root POSTGRES_PASSWORD: mysecretpassword POSTGRES_DB: memento volumes: - - ~/tmp/pgdata:/var/lib/postgresql + - ./pgdata:/var/lib/postgresql + + app: + build: . + restart: always + ports: + - 5173:5173 + depends_on: + - db + environment: + DATABASE_URL: postgresql://root:mysecretpassword@db:5432/memento + UPLOAD_DIR: /app/uploads + volumes: + # - .:/app + - ./uploads:/app/uploads + # - /app/node_modules + +