diff --git a/.github/workflows/Deploy.yaml b/.github/workflows/Deploy.yaml index dd172b3..7e9e3f0 100644 --- a/.github/workflows/Deploy.yaml +++ b/.github/workflows/Deploy.yaml @@ -1,48 +1,48 @@ -name: deploy to danak - -on: - push: - branches: - - main - -jobs: - build_and_deploy: - runs-on: ubuntu-latest - - env: - DANAK_SERVER: "https://captain.stage.danakcorp.com" - APP_TOKEN: 03786e2259b28db4b190733ab5e01505edf290820c69fa98d9b6961cbc79283b - CAPROVER_APP_NAME: asan-service - GITHUB_TOKEN: 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 - - steps: - - name: Check out repositorys - uses: actions/checkout@v4 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to Container Registry - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: zmihamid - password: ${{ env.GITHUB_TOKEN }} - - - name: Preset Image Name - run: echo "IMAGE_URL=$(echo ghcr.io/zmihamid/${{ github.event.repository.name }}:$(echo ${{ github.sha }} | cut -c1-7) | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV - - - name: Build and push Docker Image - uses: docker/build-push-action@v5 - with: - context: . - file: ./Dockerfile - push: true - tags: ${{ env.IMAGE_URL }} - - - name: Install CapRover CLI - run: npm install -g caprover - - - name: deploy to server - run: | - caprover deploy -a $CAPROVER_APP_NAME -u $DANAK_SERVER --appToken $APP_TOKEN -i "$IMAGE_URL" +name: deploy to danak + +on: + push: + branches: + - main + +jobs: + build_and_deploy: + runs-on: ubuntu-latest + + env: + DANAK_SERVER: 'https://captain.run.danakcorp.com' + APP_TOKEN: 03786e2259b28db4b190733ab5e01505edf290820c69fa98d9b6961cbc79283b + APP_NAME: asan-service + GITHUB_TOKEN: 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 + + steps: + - name: Check out repositorys + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: zmihamid + password: ${{ env.GITHUB_TOKEN }} + + - name: Preset Image Name + run: echo "IMAGE_URL=$(echo ghcr.io/zmihamid/${{ github.event.repository.name }}:$(echo ${{ github.sha }} | cut -c1-7) | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV + + - name: Build and push Docker Image + uses: docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile + push: true + tags: ${{ env.IMAGE_URL }} + + - name: Install CapRover CLI + run: npm install -g caprover + + - name: deploy to server + run: | + caprover deploy -a $APP_NAME -u $DANAK_SERVER --appToken $APP_TOKEN -i "$IMAGE_URL" diff --git a/Dockerfile b/Dockerfile index 25cc6f2..e628e03 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,47 +1,47 @@ -FROM node:20-alpine AS base - -RUN apk add --no-cache tzdata - -# Set the timezone to Asia/Tehran -RUN cp /usr/share/zoneinfo/Asia/Tehran /etc/localtime && echo "Asia/Tehran" > /etc/timezone - -FROM base AS deps -WORKDIR /temp-deps -COPY package*.json ./ -RUN npm install - -FROM base AS builder -WORKDIR /build -COPY . ./ -COPY --from=deps /temp-deps/node_modules ./node_modules -RUN npm run build -RUN npm install --omit=dev - - -FROM base AS runner -WORKDIR /app -ENV NUXT_TELEMETRY_DISABLED=1 - - -RUN addgroup -S appgroup && adduser -S appuser -G appgroup -RUN chown -R appuser:appgroup /app - -# COPY --from=builder --chown=appuser:appgroup /build/.nuxt ./.nuxt -# COPY --from=builder --chown=appuser:appgroup /build/static ./static -# COPY --from=builder --chown=appuser:appgroup /build/package.json ./ -# COPY --from=builder --chown=appuser:appgroup /build/node_modules/ ./node_modules/ -COPY --from=builder --chown=appuser:appgroup /build ./ - - -USER appuser - -# Set environment variables -ENV NODE_ENV=production -ENV PORT=7420 -ENV HOSTNAME="0.0.0.0" - - -EXPOSE 7420 - -# Start the Nuxt 2 app -CMD ["npm", "start"] +FROM node:20-alpine AS base + +RUN apk add --no-cache tzdata + +# Set the timezone to Asia/Tehran +RUN cp /usr/share/zoneinfo/Asia/Tehran /etc/localtime && echo "Asia/Tehran" > /etc/timezone + +FROM base AS deps +WORKDIR /temp-deps +COPY package*.json ./ +RUN npm install + +FROM base AS builder +WORKDIR /build +COPY . ./ +COPY --from=deps /temp-deps/node_modules ./node_modules +RUN npm run build +RUN npm install --omit=dev + + +FROM base AS runner +WORKDIR /app +ENV NUXT_TELEMETRY_DISABLED=1 + + +RUN addgroup -S appgroup && adduser -S appuser -G appgroup +RUN chown -R appuser:appgroup /app + +# COPY --from=builder --chown=appuser:appgroup /build/.nuxt ./.nuxt +# COPY --from=builder --chown=appuser:appgroup /build/static ./static +# COPY --from=builder --chown=appuser:appgroup /build/package.json ./ +# COPY --from=builder --chown=appuser:appgroup /build/node_modules/ ./node_modules/ +COPY --from=builder --chown=appuser:appgroup /build ./ + + +USER appuser + +# Set environment variables +ENV NODE_ENV=production +ENV PORT=7420 +ENV HOSTNAME="0.0.0.0" + + +EXPOSE 7420 + +# Start the Nuxt 2 app +CMD ["npm", "start"] diff --git a/components/header/MobileMenu.vue b/components/header/MobileMenu.vue index 3fd0702..01bec2c 100644 --- a/components/header/MobileMenu.vue +++ b/components/header/MobileMenu.vue @@ -48,29 +48,22 @@ - -