Commit graph

5 commits

Author SHA1 Message Date
dlawler489
1ef51b1e37 Fix nginx serving blank page by baking client into its own image
The runtime cp from etsy-tracker to a shared volume silently failed
because the nodejs user lacked write permissions on the root-owned volume.
Now a dedicated nginx-frontend Docker stage is built and pushed to GHCR
with the React client baked in, eliminating the volume-sharing approach.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 21:29:07 +10:00
dlawler489
8a3512e2f0 Add fallback deployment and fix Docker image access issues
🔧 Fix Container Deployment Issues:
- Add docker-compose.deploy-local.yml for local builds (fallback)
- Updated deployment guide with unauthorized error troubleshooting
- GitHub Actions workflow improvements for package visibility

📦 Two Deployment Options:
1. docker-compose.deploy.yml - Uses pre-built GHCR image (fast)
2. docker-compose.deploy-local.yml - Builds locally (reliable fallback)

🛠 Troubleshooting Added:
- Clear instructions for 'unauthorized' error
- Step-by-step fallback to local builds
- GitHub Container Registry access solutions

 Immediate Solution:
Use docker-compose.deploy-local.yml in container interface:
- Builds image locally from source
- No dependency on GitHub Container Registry
- Works immediately while GHCR access is resolved
2026-04-21 09:32:16 +10:00
dlawler489
b0280ae9af Fix GitHub Actions build issues
🔧 Fixed Build Problems:
- Add proper Node.js setup with npm caching
- Use working-directory for client build step
- Add client build verification with error handling
- Simplified workflow removing complex artifact generation
- Better error messages and build status reporting

🔄 Node.js Version Handling:
- Set explicit Node.js 18 setup
- Removed deprecated Node.js 24 environment variable
- Added proper npm cache configuration
- Cache both client and server package-lock.json files

 Build Process:
1. Checkout repository
2. Set up Node.js 18 with npm caching
3. Build React client with npm ci + npm run build
4. Verify client build succeeded
5. Build multi-platform Docker image
6. Push to GitHub Container Registry

This should resolve the npm build command not found error and Node.js deprecation warnings.
2026-04-21 06:53:23 +10:00
dlawler489
1504ae6eea Add GitHub Container Registry support and automated builds
🚀 GitHub Actions CI/CD Pipeline:
- Automatic Docker image builds on every push to main
- Multi-platform support (Intel + Apple Silicon)
- Images published to GitHub Container Registry (ghcr.io)
- Tagged releases with semantic versioning
- Build artifacts for easy deployment

📦 Deployment Options:
- docker-compose.ghcr.yml for pre-built images (fastest)
- Enhanced build-deploy.sh with 'local' and 'ghcr' modes
- Comprehensive GITHUB_CONTAINER_REGISTRY.md guide
- Updated README with quick deployment options

🏗️ Build Improvements:
- Client build included in Docker image for nginx sharing
- Automated GitHub Actions workflow with caching
- Deployment artifacts generated automatically
- Production docker-compose template creation

 Benefits:
- 1-2 minute deployments (vs 5-10 minute local builds)
- Consistent images across all environments
- Automatic security scanning and multi-arch builds
- Easy rollbacks with version tags
- No local build dependencies required

Usage:
- Quick deploy: ./build-deploy.sh ghcr
- Local build: ./build-deploy.sh local
- View images: https://github.com/dlawler489/etsy-finance-tracker/pkgs/container/etsy-finance-tracker
2026-04-21 06:34:59 +10:00
dlawler489
9e1a098a70 Initial commit: Complete Etsy Business Tracker with Profit Analysis Dashboard
Features:
- React + TypeScript frontend with Tailwind CSS
- Node.js + Express backend with TypeScript
- Comprehensive order tracking and management
- Product catalog with inventory tracking
- Customer data management
- Expense tracking and categorization
- Advanced Profit Analysis Dashboard with:
  - Real-time profit metrics and KPI visualization
  - Detailed order-level profit breakdown
  - Product performance analysis
  - Enhanced time range filtering (monthly, quarterly, yearly)
  - Interactive expandable order analysis
  - Performance categorization and color coding
- CSV import functionality for Etsy statements
- PDF parsing capabilities
- Redux state management with persistence
- Responsive design with mobile support
- Australian date formatting and currency display
2026-04-20 09:44:54 +10:00