From a9fe43c729035975ab5de4533f503fd323b0ee2e Mon Sep 17 00:00:00 2001 From: mroxso <24775431+mroxso@users.noreply.github.com> Date: Mon, 29 Jul 2024 23:28:36 +0200 Subject: [PATCH 1/8] update workflow to newest versions --- .github/workflows/docker-image.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index b9467d1..6ee249e 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -22,16 +22,16 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out the repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Login to GitHub Container Registry - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.repository_owner }} @@ -39,7 +39,7 @@ jobs: - name: Collecting Metadata id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY_NAME }}/${{ github.repository_owner }}/${{ env.IMAGE_NAME }} tags: | @@ -48,7 +48,7 @@ jobs: - name: Building And Pushing Image id: docker_build - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v6 with: context: . platforms: linux/amd64,linux/arm64 From 02f413289f58bcc989f316dba929311c6bd55997 Mon Sep 17 00:00:00 2001 From: mroxso <24775431+mroxso@users.noreply.github.com> Date: Mon, 29 Jul 2024 23:55:49 +0200 Subject: [PATCH 2/8] upgrade base docker image --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index c42e560..59f5790 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:21-alpine3.18 as builder +FROM node:lts-alpine3.20 as builder WORKDIR /app COPY lumina/package.json lumina/package-lock.json ./ @@ -6,7 +6,7 @@ RUN npm ci COPY ./lumina/ . RUN npm run build -FROM node:21-alpine3.18 as runner +FROM node:lts-alpine3.20 as runner WORKDIR /app COPY --from=builder /app/package.json . COPY --from=builder /app/package-lock.json . From c21f75f86c93a8fd5b60e72b7d3479ce09a780f6 Mon Sep 17 00:00:00 2001 From: mroxso <24775431+mroxso@users.noreply.github.com> Date: Wed, 31 Jul 2024 16:54:17 +0200 Subject: [PATCH 3/8] update cd (#2) --- .../workflows/{docker-image.yml => cd.yml} | 44 +++++++++++++++---- 1 file changed, 35 insertions(+), 9 deletions(-) rename .github/workflows/{docker-image.yml => cd.yml} (52%) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/cd.yml similarity index 52% rename from .github/workflows/docker-image.yml rename to .github/workflows/cd.yml index 6ee249e..3071358 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/cd.yml @@ -1,4 +1,4 @@ -name: Docker Build and Push +name: Continous Deplyoment on: workflow_dispatch: @@ -10,6 +10,8 @@ on: env: REGISTRY_NAME: ghcr.io IMAGE_NAME: lumina + MAIN_HOST: ${{ secrets.MAIN_HOST }} + MAIN_HOST_USERNAME: ${{ secrets.MAIN_HOST_USERNAME }} jobs: # ci: @@ -21,23 +23,23 @@ jobs: name: Build and Push runs-on: ubuntu-latest steps: - - name: Check out the repo + - name: Check out the repo 🛎️ uses: actions/checkout@v4 - - name: Set up QEMU + - name: Set up QEMU 🐳 uses: docker/setup-qemu-action@v3 - - name: Set up Docker Buildx + - name: Set up Docker Buildx 🐳 uses: docker/setup-buildx-action@v3 - - name: Login to GitHub Container Registry + - name: Login to GitHub Container Registry 🎫 uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Collecting Metadata + - name: Collecting Metadata 🏷️ id: meta uses: docker/metadata-action@v5 with: @@ -46,7 +48,7 @@ jobs: type=raw,value=latest,enable={{is_default_branch}} type=ref,event=branch - - name: Building And Pushing Image + - name: Building And Pushing Image 🚀 id: docker_build uses: docker/build-push-action@v6 with: @@ -57,5 +59,29 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - - name: Image digest - run: echo ${{ steps.docker_build.outputs.digest }} \ No newline at end of file + - name: Image digest 📋 + run: echo ${{ steps.docker_build.outputs.digest }} + + deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout code 🛎️ + uses: actions/checkout@v4 + + - name: Setup SSH 🔑 + run: | + mkdir -p ~/.ssh + echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + ssh-keyscan -H ${{ env.MAIN_HOST }} >> ~/.ssh/known_hosts + env: + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + + - name: Deploy 🚀 + run: | + ssh -o StrictHostKeyChecking=no ${{ env.MAIN_HOST_USERNAME }}@${{ env.MAIN_HOST }} ' + cd lumina && + git pull origin main && + docker-compose up -d --build + ' From dacd21f9c71661949707c0001cadd64c788c41cc Mon Sep 17 00:00:00 2001 From: mroxso <24775431+mroxso@users.noreply.github.com> Date: Wed, 31 Jul 2024 16:56:27 +0200 Subject: [PATCH 4/8] cd improvements --- .github/workflows/cd.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 3071358..60bdc10 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -63,6 +63,8 @@ jobs: run: echo ${{ steps.docker_build.outputs.digest }} deploy: + needs: [build_and_push] + name: Deployment runs-on: ubuntu-latest steps: From 3e4aed26688f667293847dc9de0528ed45da24a6 Mon Sep 17 00:00:00 2001 From: mroxso <24775431+mroxso@users.noreply.github.com> Date: Wed, 31 Jul 2024 16:58:17 +0200 Subject: [PATCH 5/8] update docker command in readme [skip ci] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b602fcb..0e477c0 100644 --- a/README.md +++ b/README.md @@ -4,4 +4,4 @@ A social media for images and pictures 📸 ## Docker ### Quickstart -`docker run --rm -it -p 3000:3000 ghcr.io/mroxso/lumina-rocks-website:latest` \ No newline at end of file +`docker run --rm -it -p 3000:3000 ghcr.io/lumina-rocks/lumina:main` \ No newline at end of file From 360c09ad83a1ec6775ebc3c03cf0faf609e5ee03 Mon Sep 17 00:00:00 2001 From: mroxso <24775431+mroxso@users.noreply.github.com> Date: Wed, 31 Jul 2024 17:11:14 +0200 Subject: [PATCH 6/8] fix deployment workflow --- .github/workflows/cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 60bdc10..f9a5442 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -85,5 +85,5 @@ jobs: ssh -o StrictHostKeyChecking=no ${{ env.MAIN_HOST_USERNAME }}@${{ env.MAIN_HOST }} ' cd lumina && git pull origin main && - docker-compose up -d --build + docker compose up -d --build ' From a9573141199dc815acb50039219c9bf04c275549 Mon Sep 17 00:00:00 2001 From: mroxso <24775431+mroxso@users.noreply.github.com> Date: Wed, 31 Jul 2024 17:26:03 +0200 Subject: [PATCH 7/8] cd do not build when deployment [skip ci] --- .github/workflows/cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index f9a5442..635f182 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -85,5 +85,5 @@ jobs: ssh -o StrictHostKeyChecking=no ${{ env.MAIN_HOST_USERNAME }}@${{ env.MAIN_HOST }} ' cd lumina && git pull origin main && - docker compose up -d --build + docker compose up -d ' From 4783d519d326f0bfca00c429b248dd5af40866b3 Mon Sep 17 00:00:00 2001 From: mroxso <24775431+mroxso@users.noreply.github.com> Date: Wed, 31 Jul 2024 17:35:35 +0200 Subject: [PATCH 8/8] rename docker compose container name [skip ci] --- compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose.yaml b/compose.yaml index 40d6f4c..03c372e 100644 --- a/compose.yaml +++ b/compose.yaml @@ -1,6 +1,6 @@ version: '3' services: - lumina-rocks-website: + lumina: build: . # image: ghcr.io/mroxso/lumina-rocks-website:latest ports: