Skip to content

Commit

Permalink
Merge branch 'code100x:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
siinghd authored Nov 11, 2024
2 parents 5d565db + 5a536cd commit 9f1abb5
Show file tree
Hide file tree
Showing 104 changed files with 3,376 additions and 1,228 deletions.
2 changes: 1 addition & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ NEXT_PUBLIC_BASE_URL_LOCAL=http://127.0.0.1:3000
ADMIN_SECRET="ADMIN_SECRET"
JWT_SECRET="JWT_SECRET"
# DONT CHANGE FOR RUNNING WITH DOCKER
DATABASE_URL="postgresql://postgres:postgres@db:5432/cms?schema=public"
DATABASE_URL="postgresql://myuser:mypassword@localhost:5432/cms?schema=public"
NEXTAUTH_URL="http://localhost:3000"
APPX_AUTH_KEY="AUTH_SECRET"
NEXTAUTH_SECRET="NEXTAUTH_SECRET"
Expand Down
43 changes: 43 additions & 0 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Continuous Deployment
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Docker login
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Build and push
uses: docker/build-push-action@v4
with:
context: .
file: ./Dockerfile.prod
push: true
tags: 100xdevs/cms-staging:${{ github.sha }}
build-args: |
DATABASE_URL=${{ secrets.STAGING_DATABASE }}
- name: Clone staging-ops repo, update, and push
env:
PAT: ${{ secrets.PAT }}
run: |
git clone https://github.com/code100x/staging-ops.git
cd staging-ops
sed -i 's|image: 100xdevs/cms-staging:.*|image: 100xdevs/cms-staging:${{ github.sha }}|' staging/cms/deployment.yml
git config user.name "GitHub Actions Bot"
git config user.email "[email protected]"
git add staging/cms/deployment.yml
git commit -m "Update cms image to ${{ github.sha }}"
git push https://${PAT}@github.com/code100x/staging-ops.git main
43 changes: 43 additions & 0 deletions .github/workflows/cd_prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Continuous Deployment (Prod)
on:
push:
branches: [ production ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Docker login
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Build and push
uses: docker/build-push-action@v4
with:
context: .
file: ./Dockerfile.prod
push: true
tags: 100xdevs/cms:${{ github.sha }}
build-args: |
DATABASE_URL=${{ secrets.PROD_DATABASE }}
- name: Clone staging-ops repo, update, and push
env:
PAT: ${{ secrets.PAT }}
run: |
git clone https://github.com/code100x/staging-ops.git
cd staging-ops
sed -i 's|image: 100xdevs/cms:.*|image: 100xdevs/cms:${{ github.sha }}|' prod/cms/deployment.yml
git config user.name "GitHub Actions Bot"
git config user.email "[email protected]"
git add prod/cms/deployment.yml
git commit -m "Update cms image to ${{ github.sha }}"
git push https://${PAT}@github.com/code100x/staging-ops.git main
11 changes: 7 additions & 4 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ on:
pull_request:
branches:
- '**'

jobs:

Continuous-Integration:
Expand All @@ -14,11 +14,14 @@ jobs:
- name: Checkout the Repository
uses: actions/checkout@v3

- name: Setup pnpm
run: npm install -g pnpm

- name: Install Dependencies
run: npm install --legacy-peer-deps
run: pnpm install

- name: Run linting check
run: npm run lint:check
run: pnpm run lint:check

- name: Check formatting
run: npm run format:check
run: pnpm run format:check
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
/.pnp
.pnp.js
.yarn/install-state.gz
bun.lockb

# docker volume
/postgres-data/
Expand Down Expand Up @@ -34,6 +35,10 @@ yarn-error.log*
# vercel
.vercel

#vs-code (debug config)
.vscode
launch.json

# typescript
*.tsbuildinfo
next-env.d.ts
Expand Down
4 changes: 0 additions & 4 deletions .husky/post-merge

This file was deleted.

12 changes: 0 additions & 12 deletions .husky/pre-commit

This file was deleted.

1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
legacy-peer-deps = true
9 changes: 5 additions & 4 deletions Dockerfile.dev
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@ FROM node:20-alpine

WORKDIR /usr/src/app

COPY package.json package-lock.json ./
COPY package.json pnpm-lock.yaml ./
COPY prisma ./prisma

RUN npm install
RUN npm i pnpm -g

RUN pnpm install

COPY . .

EXPOSE 3000

CMD ["npm", "run", "dev:docker"]

CMD ["pnpm", "dev:docker"]
31 changes: 24 additions & 7 deletions Dockerfile.prod
Original file line number Diff line number Diff line change
@@ -1,14 +1,31 @@
FROM node:20-alpine
ARG DATABASE_URL
FROM node:20-alpine AS build

WORKDIR /usr/src/app
ARG DATABASE_URL
ENV DATABASE_URL=${DATABASE_URL}

COPY . .

RUN npm install
RUN DATABASE_URL=$DATABASE_URL npx prisma generate
RUN DATABASE_URL=$DATABASE_URL npm run build
RUN npm install -g pnpm && \
pnpm install && \
pnpm add sharp && \
pnpm run build

RUN DATABASE_URL=${DATABASE_URL} pnpm dlx prisma generate

FROM node:20-alpine AS run

RUN mkdir /.npm && chown -R 1001:1001 /.npm

USER 1001:1001
WORKDIR /usr/src/app

COPY --from=build --chown=1001:1001 usr/src/app/.next/standalone ./
COPY --from=build --chown=1001:1001 usr/src/app/.next/static ./.next/static
COPY --from=build --chown=1001:1001 usr/src/app/public ./public

EXPOSE 3000
ENV NODE_ENV production
ENV PORT 3000
ENV HOSTNAME "0.0.0.0"

CMD ["npm", "run", "start"]
CMD [ "node", "server.js" ]
Loading

0 comments on commit 9f1abb5

Please sign in to comment.