diff --git a/docker-compose.yaml b/docker-compose.yaml index c7ff219..0597954 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -40,6 +40,17 @@ services: - goose:/migrations command: goose up + spa: + build: + context: ./spa + dockerfile: Dockerfile + env_file: + - .env + depends_on: + - api + - db + - migrator + volumes: postgres-db: goose: \ No newline at end of file diff --git a/spa/.dockerignore b/spa/.dockerignore new file mode 100644 index 0000000..badad05 --- /dev/null +++ b/spa/.dockerignore @@ -0,0 +1,4 @@ +node_modules +.git +.DS_Store +dist \ No newline at end of file diff --git a/spa/Dockerfile b/spa/Dockerfile new file mode 100644 index 0000000..f10cf08 --- /dev/null +++ b/spa/Dockerfile @@ -0,0 +1,19 @@ +# Используем образ Node.js для разработки и сборки приложения +FROM node:lts-alpine as builder + +# Устанавливаем зависимости +WORKDIR /app +COPY package*.json ./ +RUN npm install + +# Копируем все файлы проекта +COPY . . + +# Собираем статические файлы +RUN npm run build + +# Создаем второй этап сборки для минимизации размера образа +FROM nginx:alpine +COPY --from=builder /app/dist /usr/share/nginx/html +EXPOSE 80 +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file