Commit Graph

43 Commits

Author SHA1 Message Date
denshooter a5dba298f3 feat: major UI/UX overhaul, snippets system, and performance fixes 2026-02-16 12:31:40 +01:00
denshooter 91eb446ac5 fix: cleanup footer, smart navigation, and projects redesign
Removed aggressive background text in footer. Implemented intelligent back button for projects. Redesigned project archive page. Stabilized idle quote logic in activity feed.
2026-02-16 01:35:35 +01:00
denshooter c3f55c92ed feat: ultimate dynamic editorial overhaul
Automated CMS content seeding, integrated interactive AI Chat into Bento grid, implemented intelligent idle quote logic, and unified editorial styling across all sub-pages.
2026-02-16 01:18:34 +01:00
denshooter 931843a5c6 fix: add missing readBooks translations 2026-02-16 00:37:34 +01:00
denshooter 0a0895cf89 feat: add directus setup script for book reviews 2026-02-15 23:04:18 +01:00
denshooter 07741761cc Updating (#65)
* Fix ActivityFeed: Remove dynamic import that was causing it to disappear in production

* Fix ActivityFeed hydration error: Move localStorage read to useEffect to prevent server/client mismatch

* Update Node.js version to 25 in Gitea workflows

- Fix EBADENGINE error for camera-controls@3.1.2 which requires Node.js >=22
- Update production-deploy.yml, dev-deploy.yml, and ci-cd-with-gitea-vars.yml.disabled
- Node.js v25 matches local development environment

* Update Dockerfile to use Node.js 25

- Update base image from node:20 to node:25
- Matches Gitea workflow configuration and camera-controls@3.1.2 requirements

* Fix production deployment: Start database dependencies

- Remove --no-deps flag which prevented postgres and redis from starting
- Remove --build flag as image is already built in previous step
- This fixes 'Can't reach database server at postgres:5432' error

* Fix postgres health check in production

- Remove init-db.sql volume mount (not available in CI/CD environment)
- Init script not needed as Prisma handles schema migrations
- Postgres will initialize empty database automatically

* Fix cache permission error in Docker container

- Create cache directories AFTER copying standalone files
- Create both fetch-cache and images subdirectories
- Set proper ownership for nextjs user
- Fixes EACCES permission denied errors for prerender cache

* Fix German jogging fallback text

* Use Directus content in production

* fix: Security vulnerability - block malicious file requests

* fix: Switch projects to Directus, add security fixes and example projects
2026-02-15 22:04:26 +01:00
denshooter e431ff50fc feat: Add Directus setup scripts for collections, fields, and relations
- Created setup-directus-collections.js to automate the creation of tech stack collections, fields, and relations in Directus.
- Created setup-directus-hobbies.js for setting up hobbies collection with translations.
- Created setup-directus-projects.js for establishing projects collection with comprehensive fields and translations.
- Added setup-tech-stack-directus.js to populate tech_stack_items with predefined data.
2026-01-23 02:53:31 +01:00
denshooter 37a1bc4e18 locale upgrade 2026-01-22 20:56:35 +01:00
denshooter 38d99a504d chore: Enhance Gitea deployment workflow and add Gitea runner status check script
- Updated deployment script to check for existing containers and free ports before starting a new container.
- Added a new script to check the status of the Gitea runner, including service checks, running processes, Docker containers, common directories, and network connections.
2026-01-15 16:00:44 +01:00
Cursor Agent 80077ea1af Merge cursor/umfassende-plattform-berarbeitung-d0f0 into dev_test
Resolve email API TLS/env var merge conflicts and bring latest platform changes into dev_test.
2026-01-14 02:11:17 +00:00
denshooter c8db7ea78c refactor: rename project from my_portfolio to portfolio 2026-01-14 02:47:57 +01:00
Cursor Agent d7dcb17769 Automate dev DB setup with migrations and relax API rate limits in development
Co-authored-by: dennis <dennis@konkol.net>
2026-01-12 15:37:22 +00:00
Cursor Agent 423a2af938 Integrate Prisma for content; enhance SEO, i18n, and deployment workflows
Co-authored-by: dennis <dennis@konkol.net>
2026-01-12 15:27:35 +00:00
Cursor Agent f1cc398248 Refactor Docker entrypoint to run Prisma migrations; update schema
Co-authored-by: dennis <dennis@konkol.net>
2026-01-12 15:08:23 +00:00
denshooter b487f4ba75 feat: Add production troubleshooting tools and remove eye icon from ActivityFeed
- Add diagnose-production.sh script for comprehensive production diagnostics
- Add fix-production.sh script for automatic production issue resolution
- Add PRODUCTION_TROUBLESHOOTING.md documentation with step-by-step guides
- Remove eye icon from ActivityFeed header (keep only X button for minimize)
- Improve error handling and network connectivity checks
2026-01-09 20:20:08 +01:00
denshooter fd49095710 feat: Optimize builds, add rollback script, and improve security
Build Optimizations:
- Enable Docker BuildKit cache for faster builds (7min → 3-4min)
- Add .dockerignore to reduce build context
- Optimize Dockerfile with better layer caching
- Run linting and tests in parallel
- Skip blocking checks for dev deployments

Rollback Functionality:
- Add rollback.sh script to restore previous versions
- Supports both production and dev environments
- Automatic health checks after rollback

Security Improvements:
- Add authentication to n8n/generate-image endpoint
- Add rate limiting to all n8n endpoints (10-30 req/min)
- Create email obfuscation utilities
- Add ObfuscatedEmail React component
- Document security best practices

Files:
- .dockerignore - Faster builds
- scripts/rollback.sh - Rollback functionality
- lib/email-obfuscate.ts - Email obfuscation utilities
- components/ObfuscatedEmail.tsx - React component
- SECURITY_IMPROVEMENTS.md - Security documentation
2026-01-09 14:30:14 +01:00
denshooter 8c223db2a8 feat: Setup zero-downtime deployments for production and dev branches
- Created separate workflows for production and dev deployments
- Production branch → dk0.dev (port 3000)
- Dev branch → dev.dk0.dev (port 3002)
- Zero-downtime deployment pattern (start new, wait for health, remove old)
- Complete isolation between environments (separate containers, databases, networks)
- Cleaned up unused code and files:
  - Removed unused GhostEditor and ResizableGhostEditor components
  - Removed old/unused workflows and markdown files
  - Fixed docker-compose references
- Upgraded dependencies to latest compatible versions
- Fixed TypeScript errors in editor page
- Updated staging to use dev.dk0.dev domain
2026-01-09 14:21:03 +01:00
denshooter 3b2c94c699 chore: Clean up old files 2026-01-08 17:55:29 +01:00
denshooter cd4d2367ab full upgrade to dev 2026-01-08 16:27:40 +01:00
denshooter 7320a0562d full upgrade to dev 2026-01-08 11:31:57 +01:00
denshooter 4bf94007cc full upgrade to dev 2026-01-08 04:27:58 +01:00
denshooter 884d7f984b full upgrade to dev 2026-01-08 04:24:22 +01:00
denshooter 976a6360fd feat: Website-Rework mit verbessertem Design, Sicherheit und Deployment
- Neue About/Skills-Sektion hinzugefügt
- Verbesserte UI/UX für alle Komponenten
- Enhanced Contact Form mit Validierung
- Verbesserte Security Headers und Middleware
- Sichere Deployment-Skripte (safe-deploy.sh)
- Zero-Downtime Deployment Support
- Verbesserte Docker-Sicherheit
- Umfassende Sicherheits-Dokumentation
- Performance-Optimierungen
- Accessibility-Verbesserungen
2025-11-22 19:24:49 +01:00
denshooter 498bec6edf feat: add quick health fix and test scripts
- Add quick-health-fix.sh for immediate diagnosis
- Add test-app.sh for comprehensive testing
- Fix localhost connection issues
- Improve health check reliability
2025-10-19 22:39:58 +02:00
denshooter 1ef7f88b0a feat: add diagnostic and health check scripts
- Add comprehensive health check script
- Add connection issue diagnostic script
- Improve health check reliability
- Better error handling and reporting
2025-10-19 22:02:11 +02:00
denshooter c7bc0ecb1d feat: production deployment configuration for dk0.dev
- Fixed authentication system (removed HTTP Basic Auth popup)
- Added session-based authentication with proper logout
- Updated rate limiting (20 req/s for login, 5 req/m for admin)
- Created production deployment scripts and configs
- Updated nginx configuration for dk0.dev domain
- Added comprehensive production deployment guide
- Fixed logout button functionality
- Optimized for production with proper resource limits
2025-10-19 21:48:26 +02:00
denshooter 6680d707f1 Refactor CI/CD workflows and configuration files
- Removed unused network configurations from docker-compose.yml.
- Added production-specific Jest configuration in jest.config.production.ts for better test management.
- Updated jest.config.ts to include production build fixes and module resolution improvements.
- Enhanced jest.setup.ts to mock React's act function for production builds.
- Introduced new CI/CD workflows for Gitea, focusing on reliability and zero downtime deployments.
- Added scripts for debugging Gitea Actions and verifying environment variables.

These changes streamline the CI/CD process and improve testing capabilities.
2025-10-15 16:07:35 +02:00
denshooter 9f305d3e78 Fix environment variables in deployment scripts
- Export all environment variables before deployment to ensure they're available to child processes
- Add logging to show which variables are configured (without revealing secrets)
- This fixes docker-compose warnings about missing environment variables
- Ensures both docker run and docker-compose scenarios work correctly

Updated scripts:
- scripts/gitea-deploy.sh
- scripts/gitea-deploy-simple.sh
2025-10-15 15:39:00 +02:00
denshooter 04522d3093 Fix CI/CD root user error in deployment scripts
- Modify root checks to allow running as root in CI environments
- Add conditional check: only prevent root when not in CI (CI env var not set)
- Updated scripts:
  - scripts/gitea-deploy.sh
  - scripts/gitea-deploy-simple.sh
  - scripts/deploy.sh
  - scripts/auto-deploy.sh
  - scripts/setup-gitea-runner.sh

This fixes the 'This script should not be run as root' error in Gitea Actions
where containers run as root by default.
2025-10-15 15:14:22 +02:00
denshooter cc5009a0d6 🔧 Update Next.js configuration and enhance Gitea deployment script
- Added serverRuntimeConfig to next.config.ts for improved server-side configuration.
- Updated gitea-deploy.sh to include additional environment variables for deployment.
- Increased sleep duration and health check timeout for better container readiness verification.
- Implemented checks to ensure the container is running during health checks and logs container status if it fails.

 Enhancements improve deployment reliability and server configuration management.
2025-09-13 23:37:53 +02:00
denshooter 116dac89b3 🔧 Fix Gitea Actions for zero-downtime deployment
- Create new ci-cd-zero-downtime-fixed.yml workflow
- Disable old workflows that try to access port 3000 directly
- New workflow uses docker-compose.zero-downtime.yml
- Health checks now use nginx on port 80 instead of direct port 3000
- Fixes the 'Connection refused' errors in Gitea Actions

 Actions now properly work with zero-downtime nginx setup
2025-09-13 23:20:51 +02:00
denshooter f7e0172111 Refactor security scanning and database setup
- Update security scan workflow to utilize a dedicated script for checking secrets, improving detection accuracy.
- Modify database connection setup in multiple scripts to use an environment variable fallback for DATABASE_URL, enhancing flexibility in different environments.
2025-09-11 11:17:35 +02:00
denshooter c4bc27273e Implement security scanning workflows and scripts
- Update CI/CD workflow to use specific Trivy version and change output format for vulnerability results.
- Add fallback npm audit step in case Trivy scan fails.
- Create a new security scan workflow that runs on push and pull request events, including scheduled scans.
- Introduce a security scan script to perform npm audit, Trivy scans, and check for potential secrets in the codebase.
- Ensure results are uploaded as artifacts for review and maintain retention policies for scan results.
2025-09-11 10:44:03 +02:00
denshooter 09d925745d Update Docker configuration and add Gitea CI/CD workflows
- Change Docker image in docker-compose.prod.yml to use 'portfolio-app:latest'.
- Add new scripts for Gitea deployment and setup of Gitea runner.
- Introduce CI/CD workflows for automated testing, security scanning, and deployment in Gitea.
- Enhance package.json with new deployment scripts for Gitea integration.
2025-09-10 15:14:55 +02:00
denshooter a842cb04f3 Dev (#50)
* update

* cleanup

* fixing linting and tests errors

* Refactor API Parameter Handling and Update Email Transport

 Updated API Route Parameters:
- Changed parameter type from `{ id: string }` to `Promise<{ id: string }>` in PUT and DELETE methods for better async handling.

 Fixed Email Transport Creation:
- Updated `nodemailer.createTransporter` to `nodemailer.createTransport` for correct transport configuration.

 Refactored AnalyticsDashboard Component:
- Changed export from default to named export for better modularity.

 Enhanced Email Responder Toast:
- Updated toast structure to include additional properties for better user feedback.

🎯 Overall Improvements:
- Improved async handling in API routes.
- Ensured correct usage of nodemailer.
- Enhanced component exports and user notifications.
2025-09-08 08:36:16 +02:00
Dennis Konkol 1d4ae2bd41 Optimize Pre-Push Hook for Speed
 Optimized Pre-Push Hook:
- Quick checks only: ESLint, TypeScript, npm audit
- Removed slow tests and build (run in GitHub Actions)
- ~3x faster for small fixes

 Added Full Pre-Push Option:
- npm run pre-push:full for complete checks
- Use for important changes or releases
- Includes tests and build locally

🎯 Best Practices:
- Quick checks locally (30 seconds)
- Full validation in GitHub Actions
- Best of both worlds: speed + thoroughness

📝 Usage:
- Normal pushes: npm run pre-push (fast)
- Important changes: npm run pre-push:full (thorough)
2025-09-06 08:57:31 +00:00
Dennis Konkol 48ec5a4bab 🔧 Fix All Docker Compose Commands
 Updated All Docker Compose References:
- package.json: docker:compose and docker:down scripts
- scripts/deploy.sh: All compose commands and checks
- scripts/monitor.sh: All compose commands
- DEPLOYMENT.md: Documentation examples
- .github/workflows/ci-cd.yml: CI/CD pipeline

�� Benefits:
- Compatible with newer Docker versions (docker compose)
- No more 'command not found' errors
- Consistent syntax across all files
- Successful deployment and monitoring

📝 Changed:
- 'docker-compose' → 'docker compose' (new syntax)
- Updated command availability checks
- Fixed all script references
2025-09-06 00:13:34 +00:00
Dennis Konkol 62ef4deb4f 🔒 Add Pre-Push Hook & Fix GitHub Actions
 Pre-Push Hook System:
- Created scripts/pre-push.sh with comprehensive checks
- Added Git pre-push hook (.git/hooks/pre-push)
- Added npm run pre-push script
- Added npm run lint:fix script

🔧 Pre-Push Checks:
- Dependencies installation (npm ci)
- ESLint validation (npm run lint)
- Test execution (npm run test)
- Build verification (npm run build)
- Security audit (npm audit)
- TypeScript type check (tsc --noEmit)

 GitHub Actions Fix:
- Removed deprecated GHOST_API variables
- Updated environment variables to match current .env
- Fixed test and production environment setup

🎯 Benefits:
- No more failed pushes to GitHub
- All checks run locally before push
- Same checks as GitHub Actions
- Prevents broken code from reaching remote
2025-09-05 23:09:04 +00:00
Dennis Konkol 9835bb810d 🚀 Complete Production Setup
 Features:
- Analytics Dashboard with real-time metrics
- Redis caching for performance optimization
- Import/Export functionality for projects
- Complete admin system with security
- Production-ready Docker setup

🔧 Technical:
- Removed Ghost CMS dependencies
- Added Redis container with caching
- Implemented API response caching
- Enhanced admin interface with analytics
- Optimized for dk0.dev domain

🛡️ Security:
- Admin authentication with Basic Auth
- Protected analytics endpoints
- Secure environment configuration

📊 Analytics:
- Performance metrics dashboard
- Project statistics visualization
- Real-time data with caching
- Umami integration for GDPR compliance

🎯 Production Ready:
- Multi-container Docker setup
- Health checks for all services
- Automatic restart policies
- Resource limits configured
- Ready for Nginx Proxy Manager
2025-09-05 21:35:54 +00:00
Dennis Konkol c736f860aa Auto-commit before deployment Fri Sep 5 20:43:55 UTC 2025 2025-09-05 20:43:55 +00:00
Dennis Konkol 6845ed0729 Auto-commit before deployment Fri Sep 5 20:43:45 UTC 2025 2025-09-05 20:43:45 +00:00
Dennis Konkol b9b3e5308d 🚀 Add automatic deployment system
- Add auto-deploy.sh script with full CI/CD pipeline
- Add quick-deploy.sh for fast development deployments
- Add Git post-receive hook for automatic deployment on push
- Add comprehensive deployment documentation
- Add npm scripts for easy deployment management
- Include health checks, logging, and cleanup
- Support for automatic rollback on failures
2025-09-05 19:47:53 +00:00
Dennis Konkol 203a332306 update 2025-09-02 23:46:36 +00:00