diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml new file mode 100644 index 0000000..11c5885 --- /dev/null +++ b/.github/workflows/docker-image.yml @@ -0,0 +1,52 @@ +# https://docs.github.com/en/actions/publishing-packages/publishing-docker-images + + +name: Create and publish a Docker image + + +# Build Docker image on new release +on: + push: + tags: ['v*'] + + +# Set registry to GitHub Container Registry +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + + build-and-push-image: + runs-on: ubuntu-latest + + permissions: + contents: read + packages: write + + # Build steps + steps: + + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Log in to the Container registry + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + + - name: Build and push Docker image + uses: docker/build-push-action@v4 + with: + context: . + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} diff --git a/Dockerfile b/Dockerfile index 36b5251..73dc3c1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,18 @@ -FROM nginx:1.25.2-alpine3.18 +FROM node:alpine -WORKDIR /usr/share/nginx/html +# Path to assets in container +WORKDIR /app +COPY . . -RUN wget -q -O honey.zip https://github.com/dani3l0/honey/releases/download/v2.1.1/honey-v2.1.1-stable.zip && unzip -q -o honey.zip && rm honey.zip +# Build honey +RUN npm install +RUN npm run build -EXPOSE 80 +# Run a built-in webserver +CMD npm run preview -HEALTHCHECK CMD wget -nv --spider --tries=1 http://127.0.0.1:80 +# Expose port +EXPOSE 4173 + +# Health check +HEALTHCHECK CMD wget -nv --spider --tries=1 http://127.0.0.1:4173 diff --git a/package.json b/package.json index 6197f81..5a34b56 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { - "name": "vite-project", + "name": "honey", "private": true, - "version": "0.0.0", + "version": "2.2.0", "type": "module", "scripts": { "dev": "vite", "build": "vite build", - "preview": "vite preview" + "preview": "vite preview --host" }, "devDependencies": { "vite": "^4.4.5"