A modern, responsive portfolio website built with Astro, TypeScript, and Tailwind CSS.
- Dark theme with modern gradients
- Fully responsive design
- Resume download functionality
- Contact form
- Smooth scrolling navigation
- Optimized for performance (static site)
- Node.js 20+
- npm or yarn
- Install dependencies:
npm install --no-workspaces- Extract resume information (optional):
npm run extract-resumeThis will parse your resume files (public/resume.pdf and public/resume.docx) and populate src/data/resume.ts with structured data.
Start the development server:
npm run devThe site will be available at http://localhost:4321
Build the site for production:
npm run buildThe built files will be in the dist directory.
Preview the production build:
npm run previewThe project includes a Dockerfile for deployment with Coolify:
- Build the Docker image:
docker build -t portfolio .- Run the container:
docker run -p 80:80 portfolioThe site will be available at http://localhost
- Connect your repository to Coolify
- Coolify will automatically detect the Dockerfile
- Deploy the application
vps-portfolio/
├── src/
│ ├── components/ # Astro components
│ ├── layouts/ # Layout components
│ ├── pages/ # Page routes
│ ├── data/ # Data files (resume data)
│ ├── scripts/ # Utility scripts
│ └── styles/ # Global styles
├── public/ # Static assets
│ ├── resume.pdf # PDF resume
│ ├── resume.docx # DOCX resume
│ └── profile.png # Profile image
└── Dockerfile # Docker configuration
- Update
src/data/resume.tswith your information - Replace
public/profile.pngwith your profile image - Update
src/config.tswith your site configuration - Customize colors in
tailwind.config.mjs
MIT