Would you rather use email and password?
diff --git a/src/utils/getApiUrl.ts b/src/utils/getApiUrl.ts
new file mode 100644
index 000000000..465b50b85
--- /dev/null
+++ b/src/utils/getApiUrl.ts
@@ -0,0 +1,11 @@
+"use server";
+
+export const getApiUrl = async (): Promise => {
+ const apiUrl = process.env.API_URL;
+
+ if (!apiUrl) {
+ throw new Error("API_URL environment variable is not defined");
+ }
+
+ return apiUrl;
+};
\ No newline at end of file
From 4eccc7dafcb98abbcb8993996eecbb6f1560a6fe Mon Sep 17 00:00:00 2001
From: Prudent Bird
Date: Mon, 29 Jul 2024 12:37:35 +0100
Subject: [PATCH 03/11] chore: fixed lint errors
---
src/app/(auth-routes)/register/page.tsx | 14 +++++++++-----
src/utils/getApiUrl.ts | 2 +-
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/src/app/(auth-routes)/register/page.tsx b/src/app/(auth-routes)/register/page.tsx
index 333dc2db2..2c4d59ced 100644
--- a/src/app/(auth-routes)/register/page.tsx
+++ b/src/app/(auth-routes)/register/page.tsx
@@ -23,6 +23,7 @@ import {
InputOTPGroup,
InputOTPSlot,
} from "~/components/ui/input-otp";
+import { useToast } from "~/components/ui/use-toast";
import { getApiUrl } from "~/utils/getApiUrl";
const formSchema = z.object({
@@ -41,19 +42,24 @@ type FormData = z.infer;
const SignUp = () => {
const [apiUrl, setApiUrl] = useState("");
+ const { toast } = useToast();
useEffect(() => {
const fetchApiUrl = async () => {
try {
const url = await getApiUrl();
setApiUrl(url);
- } catch (error) {
- console.error("Failed to fetch API URL:", error);
+ } catch {
+ toast({
+ title: "Error",
+ description: "Failed to fetch API URL",
+ variant: "destructive",
+ });
}
};
fetchApiUrl();
- }, []);
+ }, [toast]);
const form = useForm({
resolver: zodResolver(formSchema),
@@ -69,8 +75,6 @@ const SignUp = () => {
};
const handleSubmit = async () => {
- console.log(apiUrl);
-
form.handleSubmit(handleFormSubmit)();
};
diff --git a/src/utils/getApiUrl.ts b/src/utils/getApiUrl.ts
index 465b50b85..2579b1996 100644
--- a/src/utils/getApiUrl.ts
+++ b/src/utils/getApiUrl.ts
@@ -8,4 +8,4 @@ export const getApiUrl = async (): Promise => {
}
return apiUrl;
-};
\ No newline at end of file
+};
From c4b425bd8f11b609f468ab3ea3b0a1a67c1cee07 Mon Sep 17 00:00:00 2001
From: Ravencodess <115118888+Ravencodess@users.noreply.github.com>
Date: Mon, 29 Jul 2024 12:43:49 +0100
Subject: [PATCH 04/11] Update staging_deploy.sh
Signed-off-by: Ravencodess <115118888+Ravencodess@users.noreply.github.com>
---
scripts/staging_deploy.sh | 24 +++++-------------------
1 file changed, 5 insertions(+), 19 deletions(-)
diff --git a/scripts/staging_deploy.sh b/scripts/staging_deploy.sh
index cc2ba3194..9a5f36ef3 100755
--- a/scripts/staging_deploy.sh
+++ b/scripts/staging_deploy.sh
@@ -1,22 +1,8 @@
#!/bin/bash
-if [ "$#" -ne 1 ]; then
- echo "Usage: $0 {next|remix}"
- exit 1
-fi
+set -e
-if [ "$1" == "next" ]; then
- cd /home/nextjs/staging/hng_boilerplate_nextjs
- git pull origin staging
- docker compose -f docker/staging/docker-compose.yml build
- docker compose -f docker/staging/docker-compose.yml up -d
-elif [ "$1" == "remix" ]; then
- cd /home/remixjs/staging/hng_boilerplate_remix
- git pull origin staging
- docker compose -f docker/staging/docker-compose.yml build
- docker compose -f docker/staging/docker-compose.yml up -d
-else
- echo "Invalid argument. Use 'next' or 'remix'."
- echo "Usage: $0 {next|remix}"
- exit 1
-fi
+cd "$(git rev-parse --show-toplevel)"
+git pull origin staging
+docker pull hngdevops/nextjs-boilerplate:staging
+docker compose --project-name staging-nextjs -f docker/staging/docker-compose.yml up -d
From adc99cee35fbde391916d90f0a82c4a0c0ed9d8e Mon Sep 17 00:00:00 2001
From: Ravencodess <115118888+Ravencodess@users.noreply.github.com>
Date: Mon, 29 Jul 2024 12:46:11 +0100
Subject: [PATCH 05/11] Update docker-compose.yml
Signed-off-by: Ravencodess <115118888+Ravencodess@users.noreply.github.com>
---
docker/staging/docker-compose.yml | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/docker/staging/docker-compose.yml b/docker/staging/docker-compose.yml
index 96ed1f242..d279c3648 100644
--- a/docker/staging/docker-compose.yml
+++ b/docker/staging/docker-compose.yml
@@ -1,12 +1,11 @@
services:
- next-staging-frontend-1:
- build:
- context: ../../
- dockerfile: docker/staging/Dockerfile
+ frontend:
+ image: hngdevops/nextjs-boilerplate:staging
ports:
- 3200:3000
- restart: always
+ volumes:
+ - ../../.env:/app/.env
# next-staging-frontend-2:
# build:
From 6a609d98b6a7c6c6084ff63d868d5334110305a9 Mon Sep 17 00:00:00 2001
From: Ravencodess <115118888+Ravencodess@users.noreply.github.com>
Date: Mon, 29 Jul 2024 12:47:07 +0100
Subject: [PATCH 06/11] Update docker-compose.yml
Signed-off-by: Ravencodess <115118888+Ravencodess@users.noreply.github.com>
---
docker/prod/docker-compose.yml | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/docker/prod/docker-compose.yml b/docker/prod/docker-compose.yml
index 9fa19856a..38660d65b 100644
--- a/docker/prod/docker-compose.yml
+++ b/docker/prod/docker-compose.yml
@@ -1,12 +1,11 @@
services:
- next-prod-frontend-1:
- build:
- context: ../../
- dockerfile: docker/prod/Dockerfile
+ frontend:
+ image: hngdevops/nextjs-boilerplate:prod
ports:
- 3000:3000
- restart: always
+ volumes:
+ - ../../.env:/app/.env
# next-prod-frontend-2:
# build:
From e64a4fb28026b2e8cd3c20536c5e5d418173689c Mon Sep 17 00:00:00 2001
From: Ravencodess <115118888+Ravencodess@users.noreply.github.com>
Date: Mon, 29 Jul 2024 13:00:01 +0100
Subject: [PATCH 07/11] Update staging-deployment.yml
Signed-off-by: Ravencodess <115118888+Ravencodess@users.noreply.github.com>
---
.github/workflows/staging-deployment.yml | 29 +++++++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/staging-deployment.yml b/.github/workflows/staging-deployment.yml
index ed32fb66f..ea82c2617 100644
--- a/.github/workflows/staging-deployment.yml
+++ b/.github/workflows/staging-deployment.yml
@@ -1,6 +1,7 @@
name: Staging Deployment
on:
+ workflow_dispatch:
push:
branches:
- staging
@@ -8,6 +9,31 @@ on:
- .github/workflows/**
jobs:
+ build_and_push:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v3
+
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v3
+
+ - name: Login to Docker Hub
+ uses: docker/login-action@v3
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+
+ - name: Build and push
+ uses: docker/build-push-action@v6
+ with:
+ file: docker/staging/Dockerfile
+ push: true
+ tags: hngdevops/nextjs-boilerplate:staging
+
deploy_to_staging:
if: github.event.repository.fork == false
runs-on: ubuntu-latest
@@ -24,4 +50,5 @@ jobs:
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
script: |
- ./deploy_staging.sh next
+ cd hng_boilerplate_nextjs
+ ./scripts/staging_deploy.sh
From 3bbd1cdcbe15511d73d8bf1dd9b63633ba78b1d5 Mon Sep 17 00:00:00 2001
From: Ravencodess <115118888+Ravencodess@users.noreply.github.com>
Date: Mon, 29 Jul 2024 13:02:54 +0100
Subject: [PATCH 08/11] Update docker-compose.yml
Signed-off-by: Ravencodess <115118888+Ravencodess@users.noreply.github.com>
From ccee976b45d937b49c6b5d7ddc46175ffaa21a3f Mon Sep 17 00:00:00 2001
From: Ravencodess <115118888+Ravencodess@users.noreply.github.com>
Date: Mon, 29 Jul 2024 13:03:43 +0100
Subject: [PATCH 09/11] Update production-deployment.yml
Signed-off-by: Ravencodess <115118888+Ravencodess@users.noreply.github.com>
---
.github/workflows/production-deployment.yml | 29 ++++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/production-deployment.yml b/.github/workflows/production-deployment.yml
index 2db3074fb..89374c396 100644
--- a/.github/workflows/production-deployment.yml
+++ b/.github/workflows/production-deployment.yml
@@ -1,6 +1,7 @@
name: Production Deployment
on:
+ workflow_dispatch:
push:
branches:
- main
@@ -8,6 +9,31 @@ on:
- .github/workflows/**
jobs:
+ build_and_push:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v3
+
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v3
+
+ - name: Login to Docker Hub
+ uses: docker/login-action@v3
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+
+ - name: Build and push
+ uses: docker/build-push-action@v6
+ with:
+ file: docker/staging/Dockerfile
+ push: true
+ tags: hngdevops/nextjs-boilerplate:prod
+
deploy_to_production:
if: github.event.repository.fork == false
runs-on: ubuntu-latest
@@ -24,4 +50,5 @@ jobs:
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
script: |
- ./deploy_prod.sh next
+ cd hng_boilerplate_nextjs
+ ./scripts/prod_deploy.sh
From ce909be236fa84fc37dec9c5172e981cc5524dcf Mon Sep 17 00:00:00 2001
From: Ravencodess <115118888+Ravencodess@users.noreply.github.com>
Date: Mon, 29 Jul 2024 13:04:15 +0100
Subject: [PATCH 10/11] Update prod_deploy.sh
Signed-off-by: Ravencodess <115118888+Ravencodess@users.noreply.github.com>
---
scripts/prod_deploy.sh | 24 +++++-------------------
1 file changed, 5 insertions(+), 19 deletions(-)
diff --git a/scripts/prod_deploy.sh b/scripts/prod_deploy.sh
index e192db8c1..38ab8d1a1 100755
--- a/scripts/prod_deploy.sh
+++ b/scripts/prod_deploy.sh
@@ -1,22 +1,8 @@
#!/bin/bash
-if [ "$#" -ne 1 ]; then
- echo "Usage: $0 {next|remix}"
- exit 1
-fi
+set -e
-if [ "$1" == "next" ]; then
- cd /home/nextjs/prod/hng_boilerplate_nextjs
- git pull origin main
- docker compose -f docker/prod/docker-compose.yml build
- docker compose -f docker/prod/docker-compose.yml up -d
-elif [ "$1" == "remix" ]; then
- cd /home/remixjs/prod/hng_boilerplate_remix
- git pull origin main
- docker compose -f docker/prod/docker-compose.yml build
- docker compose -f docker/prod/docker-compose.yml up -d
-else
- echo "Invalid argument. Use 'next' or 'remix'."
- echo "Usage: $0 {next|remix}"
- exit 1
-fi
+cd "$(git rev-parse --show-toplevel)"
+git pull origin main
+docker pull hngdevops/nextjs-boilerplate:prod
+docker compose --project-name prod-nextjs -f docker/prod/docker-compose.yml up -d
From ec78d636741c2c344984cd799c517fe6a9c3a304 Mon Sep 17 00:00:00 2001
From: Ravencodess <115118888+Ravencodess@users.noreply.github.com>
Date: Mon, 29 Jul 2024 13:52:01 +0100
Subject: [PATCH 11/11] Update production-deployment.yml
Signed-off-by: Ravencodess <115118888+Ravencodess@users.noreply.github.com>
---
.github/workflows/production-deployment.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/production-deployment.yml b/.github/workflows/production-deployment.yml
index 89374c396..8d29eb5e6 100644
--- a/.github/workflows/production-deployment.yml
+++ b/.github/workflows/production-deployment.yml
@@ -30,7 +30,7 @@ jobs:
- name: Build and push
uses: docker/build-push-action@v6
with:
- file: docker/staging/Dockerfile
+ file: docker/prod/Dockerfile
push: true
tags: hngdevops/nextjs-boilerplate:prod