add pwa and ci/cd
Some checks failed
Deploy MyApp on Same Server / build-and-deploy (push) Failing after 1m13s

This commit is contained in:
2025-11-06 21:54:05 +03:30
parent 4b0a110371
commit 913694ef2f
5 changed files with 37 additions and 4 deletions

View File

@@ -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

View File

@@ -7,6 +7,9 @@ COPY package*.json ./
RUN npm install --legacy-peer-deps RUN npm install --legacy-peer-deps
COPY . . COPY . .
ENV NODE_ENV=production
RUN npm run build RUN npm run build
# ---- مرحله runtime ---- # ---- مرحله runtime ----

View File

@@ -2,8 +2,9 @@ version: "3.8"
services: services:
nextapp: nextapp:
build: . #build: .
container_name: nextapp image: GreenHomeUI:latest
container_name: GreenHomeUI
restart: unless-stopped restart: unless-stopped
environment: environment:
- NODE_ENV=production - NODE_ENV=production

1
package-lock.json generated
View File

@@ -7364,7 +7364,6 @@
"version": "5.6.0", "version": "5.6.0",
"resolved": "https://registry.npmjs.org/next-pwa/-/next-pwa-5.6.0.tgz", "resolved": "https://registry.npmjs.org/next-pwa/-/next-pwa-5.6.0.tgz",
"integrity": "sha512-XV8g8C6B7UmViXU8askMEYhWwQ4qc/XqJGnexbLV68hzKaGHZDMtHsm2TNxFcbR7+ypVuth/wwpiIlMwpRJJ5A==", "integrity": "sha512-XV8g8C6B7UmViXU8askMEYhWwQ4qc/XqJGnexbLV68hzKaGHZDMtHsm2TNxFcbR7+ypVuth/wwpiIlMwpRJJ5A==",
"license": "MIT",
"dependencies": { "dependencies": {
"babel-loader": "^8.2.5", "babel-loader": "^8.2.5",
"clean-webpack-plugin": "^4.0.0", "clean-webpack-plugin": "^4.0.0",

View File

@@ -3,7 +3,9 @@ import './globals.css'
export const metadata: Metadata = { export const metadata: Metadata = {
title: 'GreenHome', title: 'GreenHome',
description: 'GreenHome PWA' description: 'GreenHome PWA',
manifest: 'manifest.json',
} }
export default function RootLayout({ children }: Readonly<{ children: React.ReactNode }>) { export default function RootLayout({ children }: Readonly<{ children: React.ReactNode }>) {