Skip to content
View russdias's full-sized avatar

Organizations

@FluxForms @neondatabase

Block or report russdias

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
russdias/README.md

Russdias Portfolio

A modern Next.js portfolio website with containerized deployment support.

πŸš€ Quick Start

Local Development

# Install dependencies
pnpm install

# Start development server
pnpm dev

# Open http://localhost:3000

πŸ“‹ Prerequisites

  • Node.js 18+ and pnpm
  • Docker Desktop

Install Prerequisites

# Node.js and pnpm
brew install node pnpm



# Docker Desktop
# Download from: https://www.docker.com/products/docker-desktop

πŸ› οΈ Development Workflows

Standard Next.js Development

# Install dependencies
pnpm install

# Development server with hot reload
pnpm dev

# Build for production
pnpm build

# Start production server
pnpm start

# Run linting
pnpm lint

Docker Development

# Build Docker image
make build-prod

# Run locally with Docker Compose
make prod

# Stop Docker containers
make prod-down

# Clean up Docker resources
make clean

🐳 Container Support

Docker

The application uses a multi-stage Dockerfile optimized for production:

  • Development: Hot reload with pnpm
  • Production: Optimized Next.js standalone build
  • Security: Non-root user (nextjs:nodejs)
  • Size: Minimal Alpine Linux base image

πŸ“ Project Structure

russdias/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/           # Next.js app router
β”‚   β”œβ”€β”€ components/    # React components
β”‚   β”œβ”€β”€ lib/          # Utilities and constants
β”‚   └── modules/      # Feature modules
β”œβ”€β”€ public/           # Static assets
β”œβ”€β”€ Dockerfile        # Multi-stage container build
β”œβ”€β”€ docker-compose.yml # Local development
└── Makefile         # Development commands

πŸ”§ Available Make Commands

Local Development

  • make dev - Start development server
  • make build - Build for production
  • make clean - Clean up Docker resources

Docker

  • make build-prod - Build production Docker image
  • make prod - Run with Docker Compose
  • make prod-down - Stop Docker containers

Production

  • make release - Build and push to registry
  • make deploy-prod - Deploy to production cluster

Run make help to see all available commands.

πŸš€ Deployment

Production

See DOCKER.md for production deployment instructions.

πŸ“– Documentation

🎯 Features

  • Modern Stack: Next.js 14 with App Router
  • Containerized: Docker with multi-stage builds
  • Kubernetes Ready: Helm charts for easy deployment
  • Local Development: Minikube integration
  • Type Safe: TypeScript throughout
  • Optimized: Performance and SEO optimized
  • Responsive: Mobile-first design

πŸ” Troubleshooting

Common Issues

  1. Port already in use:

    # Kill process on port 3000
    lsof -ti:3000 | xargs kill -9
  2. Docker build issues:

    # Clean Docker cache
    make clean
  3. Kubernetes pod not starting:

    # Check pod logs
    make local-logs
    
    # Get pod details
    kubectl describe pod -n russdias
  4. Minikube issues:

    # Reset Minikube
    minikube delete
    make minikube-start

πŸ“ License

MIT License - see LICENSE file for details.

Pinned Loading

  1. render-deploy render-deploy Public

    TypeScript