diff --git a/.docker-compose.yml.swp b/.docker-compose.yml.swp deleted file mode 100644 index c3aa9f9..0000000 Binary files a/.docker-compose.yml.swp and /dev/null differ diff --git a/Dockerfile b/Dockerfile index 5b91041..6fe0e50 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,5 @@ -# Dockerfile - -FROM node:20-alpine +# Этап сборки +FROM node:20-alpine AS builder WORKDIR /app @@ -8,9 +7,20 @@ COPY package*.json ./ RUN npm ci COPY . . - RUN npm run build -EXPOSE 39890 +# Этап продакшна — отдача статики +FROM nginx:alpine AS production -CMD ["npm", "run", "preview", "--", "--port", "39890"] +# Удаляем дефолтную страницу Nginx +RUN rm -rf /usr/share/nginx/html/* + +# Копируем Astro-сборку +COPY --from=builder /app/dist /usr/share/nginx/html + +# Опционально: свой nginx.conf +# COPY nginx.conf /etc/nginx/nginx.conf + +EXPOSE 80 + +CMD ["nginx", "-g", "daemon off;"] diff --git a/docker-compose.yml b/docker-compose.yml index cdf969d..788f7e9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,13 +6,14 @@ services: container_name: kb-personal networks: - proxy-net - expose: - - 39890 labels: - "traefik.enable=true" - "traefik.http.routers.kb-personal.rule=Host(`wiki.sinenikolsky.ru`)" - - "traefik.http.routers.kb-personal.entrypoints=http" - - "traefik.http.services.kb-personal.loadbalancer.server.port=39890" + - "traefik.http.routers.kb-personal.entrypoints=http,https" + - "traefik.http.routers.kb-personal.tls=true" + - "traefik.http.services.kb-personal.loadbalancer.server.port=80" + expose: + - 80 restart: unless-stopped networks: