From 913694ef2f5b747cae53591c25d34f9eeda6f75e Mon Sep 17 00:00:00 2001 From: alireza Date: Thu, 6 Nov 2025 21:54:05 +0330 Subject: [PATCH] add pwa and ci/cd --- .gitea/workflows/deploy.yml | 28 ++++++++++++++++++++++++++++ Dockerfile | 3 +++ docker-compose.yml | 5 +++-- package-lock.json | 1 - src/app/layout.tsx | 4 +++- 5 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 .gitea/workflows/deploy.yml diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..b61d9bb --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,28 @@ +name: Deploy MyApp on Same Server + +on: + push: + branches: + - main + +jobs: + build-and-deploy: + runs-on: docker + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Build Docker image + run: | + docker build -t GreenHomeUI:latest . + + - name: Copy docker-compose file to target path + run: | + mkdir -p /home/services/myapp + cp docker-compose.yml /home/dev/services/greenhomeUI/docker-compose.yml + + - name: Deploy container + run: | + cd /home/dev/services/greenhomeUI + docker compose down + docker compose up -d \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index eb4351d..8ccda09 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,6 +7,9 @@ COPY package*.json ./ RUN npm install --legacy-peer-deps COPY . . + +ENV NODE_ENV=production + RUN npm run build # ---- مرحله runtime ---- diff --git a/docker-compose.yml b/docker-compose.yml index 8cca635..a6d8cdc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,8 +2,9 @@ version: "3.8" services: nextapp: - build: . - container_name: nextapp + #build: . + image: GreenHomeUI:latest + container_name: GreenHomeUI restart: unless-stopped environment: - NODE_ENV=production diff --git a/package-lock.json b/package-lock.json index 58a09f0..5cb35cd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7364,7 +7364,6 @@ "version": "5.6.0", "resolved": "https://registry.npmjs.org/next-pwa/-/next-pwa-5.6.0.tgz", "integrity": "sha512-XV8g8C6B7UmViXU8askMEYhWwQ4qc/XqJGnexbLV68hzKaGHZDMtHsm2TNxFcbR7+ypVuth/wwpiIlMwpRJJ5A==", - "license": "MIT", "dependencies": { "babel-loader": "^8.2.5", "clean-webpack-plugin": "^4.0.0", diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 69337a2..cf2998e 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -3,7 +3,9 @@ import './globals.css' export const metadata: Metadata = { title: 'GreenHome', - description: 'GreenHome PWA' + description: 'GreenHome PWA', + manifest: 'manifest.json', + } export default function RootLayout({ children }: Readonly<{ children: React.ReactNode }>) {