diff --git a/.dockerignore b/.dockerignore index bc5aaa6..49210f6 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1,3 @@ -docker/ -.editorconfig +dist/ README.md +.dockerignore diff --git a/.editorconfig b/.editorconfig index 9772a01..1831fbd 100644 --- a/.editorconfig +++ b/.editorconfig @@ -19,4 +19,3 @@ indent_size = 2 [docker-compose.yml] indent_size = 4 - diff --git a/README.md b/README.md index 65cf3cd..44dd1a4 100644 --- a/README.md +++ b/README.md @@ -2,23 +2,21 @@ This is the repository for Daniel's personal website. ## Project setup -``` -yarn install -``` +Dependencies are read and installed from `package.json` upon application start or build. ### Compiles and hot-reloads for development ``` -yarn serve +docker-compose up vue ``` ### Compiles and minifies for production ``` -yarn build +docker build -t daniel-website/nginx:dev -f docker/nginx/Dockerfile . ``` ### Lints and fixes files ``` -yarn lint +docker-compose exec vue yarn lint ``` ### Customize configuration diff --git a/docker/nginx/.dockerignore b/docker/nginx/.dockerignore new file mode 100644 index 0000000..4a246ec --- /dev/null +++ b/docker/nginx/.dockerignore @@ -0,0 +1,2 @@ +Dockerfile +.dockerignore diff --git a/docker/nginx/Dockerfile b/docker/nginx/Dockerfile index fe073bd..63c5e9a 100644 --- a/docker/nginx/Dockerfile +++ b/docker/nginx/Dockerfile @@ -1,3 +1,14 @@ +FROM node:16 as builder + +COPY --chown=node ./ /code/ +WORKDIR /code + +USER node + +RUN yarn +RUN yarn build + FROM nginx:1.22.0-alpine -COPY ./etc/nginx/conf.d/ /etc/nginx/conf.d/ +COPY ./docker/nginx/etc/nginx/conf.d/ /etc/nginx/conf.d/ +COPY --from=builder /code/dist/ /var/www/html/ diff --git a/docker/nginx/Dockerfile.prod b/docker/nginx/Dockerfile.prod deleted file mode 100644 index 5580e04..0000000 --- a/docker/nginx/Dockerfile.prod +++ /dev/null @@ -1,4 +0,0 @@ -FROM nginx:1.22.0-alpine - -COPY ./etc/nginx/conf.d/ /etc/nginx/conf.d/ -COPY ../../build/ /var/www/html/