diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..76add87 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +node_modules +dist \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5805431 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +FROM node:20-slim as build + +WORKDIR /opt + +COPY ./package.json /opt/package.json +COPY ./package-lock.json /opt/package-lock.json + +RUN npm ci + +COPY . . + +RUN npm run build + +FROM nginx:1.24-alpine-slim + +COPY ./nginx/nginx.conf /etc/nginx/conf.d/default.conf +COPY --from=build /opt/dist /usr/share/nginx/html diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..0cbda48 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,12 @@ +version: "3" + +services: + zeldon-site: + image: zeldon-site:latest + container_name: zeldon-site + build: + context: . + dockerfile: Dockerfile + ports: + - 3123:80 + restart: unless-stopped diff --git a/nginx/nginx.conf b/nginx/nginx.conf new file mode 100644 index 0000000..dc2e00c --- /dev/null +++ b/nginx/nginx.conf @@ -0,0 +1,10 @@ +server { + listen 80; + + # path to files for serve + root /usr/share/nginx/html; + + location / { + try_files $uri $uri/ /index.html; + } +} \ No newline at end of file