From 6bb72dc97f91190cf439387945506318081fa3e8 Mon Sep 17 00:00:00 2001 From: dimitar Date: Wed, 29 Jul 2026 16:52:54 +0200 Subject: [PATCH] local dev setup --- Dockerfile.dev | 14 ++++++++++++++ docker-compose.dev.yaml | 39 +++++++++++++++++++++++++++++++++++++++ package-lock.json | 1 - scripts/start-dev.sh | 7 +++++++ 4 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 Dockerfile.dev create mode 100644 docker-compose.dev.yaml create mode 100644 scripts/start-dev.sh diff --git a/Dockerfile.dev b/Dockerfile.dev new file mode 100644 index 0000000..6f00c3a --- /dev/null +++ b/Dockerfile.dev @@ -0,0 +1,14 @@ +FROM node:20-alpine + +RUN apk add --no-cache openssl + +WORKDIR /app + +COPY package.json package-lock.json ./ +RUN npm ci + +COPY . . + +EXPOSE 3000 + +CMD ["/bin/sh", "/app/scripts/start-dev.sh"] diff --git a/docker-compose.dev.yaml b/docker-compose.dev.yaml new file mode 100644 index 0000000..bc78c29 --- /dev/null +++ b/docker-compose.dev.yaml @@ -0,0 +1,39 @@ +services: + db: + image: postgres:16-alpine + restart: unless-stopped + environment: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: monuments + ports: + - "5432:5432" + volumes: + - pgdata:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U postgres"] + interval: 5s + timeout: 5s + retries: 5 + + app: + build: + context: . + dockerfile: Dockerfile.dev + restart: unless-stopped + env_file: + - .env + environment: + DATABASE_URL: postgresql://postgres:postgres@db:5432/monuments + ports: + - "3000:3000" + volumes: + - .:/app + - /app/node_modules + - /app/.next + depends_on: + db: + condition: service_healthy + +volumes: + pgdata: diff --git a/package-lock.json b/package-lock.json index 3944cd4..d07935a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,7 +7,6 @@ "": { "name": "spomeniqr", "version": "0.1.0", - "hasInstallScript": true, "dependencies": { "@aws-sdk/client-s3": "^3.1073.0", "@aws-sdk/s3-request-presigner": "^3.1073.0", diff --git a/scripts/start-dev.sh b/scripts/start-dev.sh new file mode 100644 index 0000000..48c20c5 --- /dev/null +++ b/scripts/start-dev.sh @@ -0,0 +1,7 @@ +#!/bin/sh +set -e + +npx prisma generate +npx prisma migrate deploy + +npm run dev