diff --git a/.woodpecker/.build.yml b/.woodpecker/.build.yml new file mode 100644 index 0000000..3e04017 --- /dev/null +++ b/.woodpecker/.build.yml @@ -0,0 +1,19 @@ +steps: + - name: build + image: node:18-alpine + 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 "$FORGEJO_REGISTRY_URL" + 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..78809ac --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM node:18-alpine as build + +WORKDIR /usr/local/app +COPY ./ /usr/local/app/ +RUN npm install +RUN chmod +x /usr/local/app/build.sh +RUN /usr/local/app/build.sh + +FROM nginx:latest +RUN rm -rf /usr/share/nginx/html/* +COPY --from=build /usr/local/app/ /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