diff --git a/.dockerignore b/.dockerignore index 4d8ad97..e991578 100644 --- a/.dockerignore +++ b/.dockerignore @@ -3,3 +3,8 @@ .gitignore .git docker-compose.build.yml +node_modules/ +.env.example +LICENSE.md +docker-compose.yml +README.md \ No newline at end of file diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..9e8320d --- /dev/null +++ b/.env.example @@ -0,0 +1 @@ +TAG=0.0.1 \ No newline at end of file diff --git a/.gitignore b/.gitignore index 1a269c4..5593629 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules/ dist/ -service-worker.build.js \ No newline at end of file +service-worker.build.js +.env \ No newline at end of file diff --git a/.woodpecker/.build.yml b/.woodpecker/.build.yml index 4b32d5f..0d70e7b 100644 --- a/.woodpecker/.build.yml +++ b/.woodpecker/.build.yml @@ -1,13 +1,10 @@ pipeline: build: - image: node:20.2.0-alpine3.16 + image: alpine:3.14 secrets: [docker_password, docker_username] commands: # Install deps - apk add docker docker-compose jq - # Build app - - yarn install --frozen-lockfile - - yarn build # Log into docker registry - echo "$${DOCKER_PASSWORD}" | docker login --password-stdin --username "$${DOCKER_USERNAME}" git.webdeploy.it - echo "TAG=$(jq -r .version ./package.json)" >> .env diff --git a/Dockerfile b/Dockerfile index 055c85c..5d76c6d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,16 @@ -FROM nginx +FROM node:18 AS build + +WORKDIR /usr +COPY package.json ./ +COPY yarn.lock ./ +RUN yarn install --frozen-lockfile +COPY . ./ +RUN yarn build + +FROM nginx:alpine + +COPY --from=build /usr/dist /usr/share/nginx/html +#COPY nginx.conf /etc/nginx/nginx.conf EXPOSE 80 - -RUN rm -rf /usr/share/nginx/html/* - -COPY ./dist/ /usr/share/nginx/html/ +CMD ["nginx","-g","daemon off;"] diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml new file mode 100644 index 0000000..ece1b21 --- /dev/null +++ b/docker-compose.prod.yml @@ -0,0 +1,9 @@ +version: '3' + +services: + web-app: + image: git.webdeploy.it/pianello/pianello-web-app:latest + restart: always + container_name: pianello-web-app + ports: + - 127.0.0.1:8080:80