diff --git a/.woodpecker/.build.yml b/.woodpecker/.build.yml new file mode 100644 index 0000000..67c27c7 --- /dev/null +++ b/.woodpecker/.build.yml @@ -0,0 +1,22 @@ +labels: + platform: linux/amd64 + +steps: + - name: build + image: docker + when: + - branch: master + event: push + commands: + - docker build -t "$REGISTRY_IMAGE_TAG" . + - echo "$FORGEJO_REGISTRY_PASSWORD" | docker login "$FORGEJO_REGISTRY_URL" --password-stdin -u "$FORGEJO_REGISTRY_USERNAME" + - docker push "$REGISTRY_IMAGE_TAG" + volumes: + - /var/run/docker.sock:/var/run/docker.sock + secrets: + [ + FORGEJO_REGISTRY_URL, + FORGEJO_REGISTRY_USERNAME, + FORGEJO_REGISTRY_PASSWORD, + REGISTRY_IMAGE_TAG, + ] diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2a4b21b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM node:18-alpine as build + +WORKDIR /usr/local/app +COPY ./ /usr/local/app/ +RUN npm install +RUN npm run build + +FROM nginx:latest +RUN rm -rf /usr/share/nginx/html/* +COPY --from=build /usr/local/app/build/ /usr/share/nginx/html +COPY nginx/nginx.conf /etc/nginx/conf.d/default.conf +RUN service nginx restart + +EXPOSE 80 diff --git a/nginx/nginx.conf b/nginx/nginx.conf new file mode 100644 index 0000000..e1d6d00 --- /dev/null +++ b/nginx/nginx.conf @@ -0,0 +1,12 @@ +server { + listen 80; + sendfile on; + default_type application/octet-stream; + gzip on; + + root /usr/share/nginx/build; + + location / { + try_files $uri $uri/ /index.html =404; + } +} \ No newline at end of file