Updated webhook to use correct Coolify API endpoint:
- Changed from /webhooks/source/gitea/events/manual/{uuid} to /api/v1/deploy?uuid={uuid}
- Added Bearer token authorization header to webhook
- Removed unnecessary webhook secret generation
- Uses GET request to /deploy endpoint as per Coolify API docs
This fix enables automatic deployments when pushing to repository.
Reference: https://coolify.io/docs/api-reference/api/operations/deploy-by-tag-or-uuid🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Created deploy-to-coolify.example.sh script that:
- Reads configuration from .env file
- Creates Coolify application via API
- Configures domain and Traefik labels
- Sets up GitHub webhook for automatic deployments
- Generates deployment secrets automatically
- Provides step-by-step deployment feedback
Updated .gitignore to exclude:
- deploy-to-coolify.sh (customized copy)
- deployment-info.txt (contains secrets)
Users copy the example script and customize for their deployment.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added init.js script and data attributes to all HTML files:
- All pages now load company configuration dynamically
- Added data-company-name attributes for company name elements
- Title tags will be updated by init.js at runtime
- Enables full customization without editing HTML files
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add comprehensive environment-based configuration system:
- Created config.js module to centralize all environment variables
- Updated server.js to use config module for all settings
- Added /api/config endpoint to expose company info to frontend
- Created init.js to dynamically inject config into HTML pages
- Updated .env.example with comprehensive configuration options
- Added data attributes to index.html for dynamic content
- Updated Dockerfile to include config.js
This allows users to customize:
- Company name, tagline, and description
- Branding colors (primary, accent, dark)
- Contact information (email, phone, address, hours)
- Social media links
- About page content
- Services offered
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Updated all navigation links in HTML files
- Updated all hrefs and window.location redirects in JavaScript
- All links now use clean URLs without .html extensions
- Improves SEO and provides cleaner user experience
- All migrations running successfully
- Database initialized with sample data
- Webhook configured with secret for auto-deployment
- Site fully functional at https://recruitai.startanaicompany.com
- Removed migrations volume mount from docker-compose.yml
- Added automatic migration runner in server.js on startup
- Migrations now run from files built into Docker image
- Fixes 'relation does not exist' errors
The volume mount was overwriting the public directory from the Docker
image with an empty directory from the host, causing ENOENT errors.
Public files are now served from the Docker image via COPY command.