diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..097e7b1 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +node_modules +server/node_modules +.env \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4c40528 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +FROM node:lts-alpine + +WORKDIR /app +COPY package*.json ./ +RUN npm ci + +WORKDIR /app/server +COPY server/package*.json ./ +RUN npm ci +COPY server/prisma/schema.prisma ./prisma/schema.prisma +RUN npx prisma generate + +WORKDIR /app +COPY ./ ./ + +WORKDIR /app/server +CMD ["node", "index.js"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..86e5fb4 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,22 @@ +version: "3" +services: + app: + build: . + ports: + - 3000:3000 + environment: + - DATABASE_URL=postgresql://postgres:postgres@db:5432/postgres + depends_on: + - db + env_file: + - ./server/.env + command: /bin/sh -c "npx prisma db push && node index.js" + db: + image: postgres + environment: + - POSTGRES_PASSWORD=postgres + volumes: + - postgres-data:/var/lib/postgresql/data + +volumes: + postgres-data: