Update headshot.

This commit is contained in:
TheMaddax 2025-10-01 06:19:14 -06:00
parent b3aea9e602
commit c89f9276dc
4 changed files with 40 additions and 26 deletions

View file

@ -1,20 +1,25 @@
# Active Context - Current Work
## What We're Working On Now
**Email Configuration Task**: ✅ COMPLETED - Successfully updated email configuration with:
- Changed recipient email from `mark@finlion.com` to `chris@deafgain.org`
- Changed SMTP port from `587` to `2525`
- Deployed changes to production VPS
**Email Configuration Task**: ✅ FULLY COMPLETED - Successfully configured and tested email system:
- Initial change: `mark@finlion.com``chris@deafgain.org` → back to `mark@finlion.com`
- Fixed SMTP port from `587` to `2525` (DigitalOcean requirement)
- Added `requireTLS: true` for Gmail port 2525 compatibility
- Resolved Docker environment variable loading issues
- Fixed Caddy proxy configuration for container connectivity
- Implemented Redis fallback for rate limiting when Upstash unavailable
- All changes deployed and verified on production VPS
## Current Email Setup Analysis
- **Contact Form Location**: `/src/app/api/contact/route.ts`
- **Email Library**: `/src/lib/email.ts` (exists but not currently used by the API route)
- **Updated Configuration**:
- **Final Configuration**:
- SMTP Host: Gmail (smtp.gmail.com:2525)
- From Email: system@deafgain.org
- To Email: chris@deafgain.org
- To Email: mark@finlion.com (verified via docker inspect)
- Authentication: Google App Password
- Rate limiting enabled via Upstash Redis
- Rate limiting: Graceful fallback when Redis unavailable (Upstash instance inactive)
- TLS Security: requireTLS enabled for port 2525
## Recent Changes
- Memory Bank files created for the first time
@ -28,22 +33,31 @@
- Email configuration uses environment variables
- Rate limiting and input validation are implemented
## Deployment Setup Verified
## Deployment Setup Current Status
- **VPS Server**: chaulmark@chrishaulmark.com
- **Website Directory**: ~/websites/finlion on VPS
- **Docker Container**: finlion-website-web-1 (running on port 805)
- **Docker Compose**: finlion-compose.yml configured
- **Git Status**: On main branch, up to date with origin
- **Container Status**: Running and healthy (up 41 hours)
- **Deployment Process**: Ready to rebuild container after local changes
- **Docker Container**: finlion-web-1 (running on port 805)
- **Docker Compose**: Using repository's docker-compose.yml (fixed environment variable loading)
- **Caddy Proxy**: Updated to point to finlion-web-1:805 (was finlion-website-web-1:805)
- **Git Status**: On main branch, up to date with latest changes
- **Container Status**: Running and healthy with correct environment variables
- **Website Access**: https://finlion.com fully operational
## Next Steps
1. ✅ User is testing the contact form on the finlion website
2. ✅ Verify emails are received at chris@deafgain.org
3. ✅ Confirm email functionality is working with new configuration
4. ✅ Task completion pending successful email test
## Issues Resolved During Task
1. **Environment Variables**: Fixed Docker compose empty env vars overriding .env file
2. **Caddy Proxy**: Updated container name mapping after switching compose files
3. **SMTP Configuration**: Added requireTLS for Gmail port 2525 compatibility
4. **Redis Fallback**: Implemented graceful handling of Upstash Redis unavailability
5. **Container Connectivity**: Resolved network issues between Caddy and application
## Notes
- The API route has its own email implementation rather than using the email utility
- Both implementations are very similar but slightly different
- Environment variables are properly configured for Gmail SMTP
## Technical Debt & Future Considerations
- **Redis**: Upstash instance inactive - consider self-hosted Redis solution
- **Rate Limiting**: Currently disabled due to Redis issues (low security risk)
- **Email Implementation**: Duplicate code in route.ts and email.ts (could consolidate)
- **Environment Variables**: All properly loaded and verified via docker inspect
## Task Completion Status
**Email Configuration**: Fully functional and tested
**Website Access**: Restored and operational
**Container Deployment**: Stable and properly configured
**All Changes**: Committed to git and deployed to production

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

After

Width:  |  Height:  |  Size: 449 KiB

View file

@ -38,10 +38,10 @@ export default function AboutPage() {
<div className="relative lg:order-2">
<Image
src="/images/mark.jpg"
alt="Mark Apodaca standing indoors in front of green plants and a window with wooden blinds, wearing a brown checked blazer, a white shirt, and a patterned tie. He is smiling confidently, and a small lapel pin is visible on his blazer."
width={1365}
height={2048}
className="rounded-2xl object-cover shadow-xl aspect-[2/3] w-full"
alt="Mark Apodaca professional headshot 2025"
width={2000}
height={1333}
className="rounded-2xl object-cover shadow-xl aspect-[3/2] w-full"
priority
/>
</div>