feat: docker (#5)

Co-authored-by: zeon-neon[bot] <136533918+zeon-neon[bot]@users.noreply.github.com>
This commit is contained in:
Saahil dutta 2024-09-06 22:41:03 -04:00 committed by GitHub
parent c9b4566e1d
commit b1fd32ecc6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 86 additions and 43 deletions

3
.dockerignore Normal file
View file

@ -0,0 +1,3 @@
node_modules
.github
scripts

22
.github/workflows/build-docker.yml vendored Normal file
View file

@ -0,0 +1,22 @@
name: publish
on:
push:
branches:
- "main"
workflow_dispatch:
jobs:
publish-docker-image:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.MY_TOKEN }}
- name: Build the Docker image
run: |
docker build . --tag ghcr.io/neongamerbot-qk/saahildcom:latest
docker push ghcr.io/neongamerbot-qk/saahildcom:latest

14
Dockerfile Normal file
View file

@ -0,0 +1,14 @@
FROM node:20-alpine as builder
WORKDIR /app
COPY package*.json .
COPY yarn*.lock .
RUN yarn install
COPY . .
RUN yarn build
#Stage 2
FROM nginx:1.19.0
WORKDIR /usr/share/nginx/html
RUN rm -rf ./*
COPY --from=builder /app/build .
ENTRYPOINT ["nginx", "-g", "daemon off;"]

7
docker-compose.yml Normal file
View file

@ -0,0 +1,7 @@
name: <your project name>
services:
<to-change-here>:
ports:
- 3000:80
container_name: saahildcom
image: <to-change-here>:latest

View file

@ -1,52 +1,49 @@
import { mdiBullet } from "@mdi/js"; import { mdiBullet } from '@mdi/js'
import Icon from "@mdi/react"; import Icon from '@mdi/react'
import { useEffect, useState } from "react"; import { useEffect, useState } from 'react'
export default function AboutPage() { export default function AboutPage () {
const [currentGrade, setCurrentGrade] = useState<string>("0th"); const [currentGrade, setCurrentGrade] = useState<string>("0th")
useEffect(() => { useEffect(() => {
let year: number = new Date().getFullYear(); let year:number = new Date().getFullYear()
if (year > 2027) { if (year > 2027) {
let result = year - 2027; let result = year - 2027
switch (result) { switch(result) {
case 0: case 0:
setCurrentGrade(`12th`); setCurrentGrade(`12th`)
break; break;
default: default:
setCurrentGrade(`Collage Student`); setCurrentGrade(`Collage Student`)
break; break;
} }
} else { } else {
setCurrentGrade(`${Math.abs(2027 - 2024 - 13)}th`); setCurrentGrade(`${Math.abs((2027 - 2024) - 13)}th`)
} }
}); })
return ( return <div className={'hero min-h-screen md:ml-0 ml-2'}>
<div className={"hero min-h-screen md:ml-0 ml-2"}> <div className='container'>
<div className="container"> <h1 className='text-3xl font-bold'>
<h1 className="text-3xl font-bold"> Some info about <span className='text-highlight'>me</span>
Some info about <span className="text-highlight">me</span> </h1>
</h1> <div>
<div> <blockquote className='mb-0 blockquote'>
<blockquote className="mb-0 blockquote"> <p style={{ textAlign: 'justify' }}>
<p style={{ textAlign: "justify" }}> Hi Everyone, I am{' '}
Hi Everyone, I am{" "} <span className='text-highlight '>Saahil dutta, </span>
<span className="text-highlight ">Saahil dutta, </span> from <span className='text-highlight '> USA </span>
from <span className="text-highlight "> USA </span> <br />I am a {currentGrade} grader in KCD.
<br />I am a {currentGrade} grader in KCD. <br />
<br /> <br />
<br /> Apart from coding, some other activities that I love to do!
Apart from coding, some other activities that I love to do! </p>
</p> <ul>
<ul> <li className='about-activity'>
<li className="about-activity"> <Icon path={mdiBullet} className='inline-block'size={1} /> Playing Games
<Icon path={mdiBullet} className="inline-block" size={1} />{" "} </li>
Playing Games <li className='about-activity'>
</li> <Icon path={mdiBullet} className='inline-block' size={1} /> Eating different types of food
<li className="about-activity"> </li>
<Icon path={mdiBullet} className="inline-block" size={1} />{" "} {/* <li className="about-activity">
Eating different types of food
</li>
{/* <li className="about-activity">
<ImPointRight className="inline-block"/> Traveling <ImPointRight className="inline-block"/> Traveling
</li> */} </li> */}
<li className="about-activity"> <li className="about-activity">