diff --git a/Makefile b/Makefile index 1d0043e..cf5e6bb 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ build: @docker compose build -run: build +run: @docker compose up clean: diff --git a/api/Dockerfile b/api/Dockerfile index 0a7bda9..101f1b1 100644 --- a/api/Dockerfile +++ b/api/Dockerfile @@ -6,6 +6,6 @@ COPY . . RUN go mod tidy -RUN go build -o bin/api.exe cmd/main.go +RUN go build -o bin/api cmd/main.go -ENTRYPOINT [ "bin/api.exe" ] \ No newline at end of file +ENTRYPOINT [ "bin/api" ] \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml index 9b8d76d..3204ecd 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -25,7 +25,7 @@ services: - api:/usr/src/app depends_on: - db - command: ./bin/api.exe + command: ./bin/api migrator: build: diff --git a/spa/Dockerfile b/spa/Dockerfile new file mode 100644 index 0000000..287eb05 --- /dev/null +++ b/spa/Dockerfile @@ -0,0 +1,32 @@ +# Используем официальный образ Node.js на основе Alpine Linux +FROM node:16-alpine as build-stage + +# Устанавливаем рабочую директорию внутри контейнера +WORKDIR /app + +# Копируем package.json и package-lock.json (если есть) +COPY package*.json ./ + +# Устанавливаем зависимости +RUN npm install + +# Копируем все файлы проекта в рабочую директорию +COPY . . + +# Собираем проект +RUN npm run build + +# Используем легковесный образ Nginx для serving статики +FROM nginx:stable-alpine as production-stage + +# Копируем собранные файлы из предыдущего этапа в директорию Nginx +COPY --from=build-stage /app/dist /usr/share/nginx/html + +# Копируем конфигурацию Nginx (если нужно) +# COPY nginx.conf /etc/nginx/conf.d/default.conf + +# Открываем порт 80 +EXPOSE 80 + +# Запускаем Nginx +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file