Commit Graph

18 Commits

Author SHA1 Message Date
Mikael Westöö
7347586407 Add automated deployment script template
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>
2026-01-23 23:28:58 +01:00
Mikael Westöö
9a97a575c6 Add dynamic configuration to all HTML pages
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>
2026-01-23 23:27:36 +01:00
Mikael Westöö
ac21e428a5 Convert to template with dynamic configuration
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>
2026-01-23 23:26:57 +01:00
Mikael Westöö
d6523bc4b1 Remove deprecated docker-compose.coolify.yml
Coolify uses docker-compose.yml directly, so the .coolify.yml variant
is redundant and causes confusion. Only docker-compose.yml is needed.
2026-01-23 23:05:11 +01:00
Mikael Westöö
61269bb9a4 Remove .html extensions from all links and URLs
- 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
2026-01-23 22:40:26 +01:00
Mikael Westöö
2d6b2eece2 Update README - repository moved to StartanAICompany org 2026-01-23 22:36:02 +01:00
Mikael Westöö
6c7e6fb845 Remove obsolete deployment files - Coolify handles deployment
- Removed deploy.sh (manual deployment script not needed)
- Removed deploy_key.pub (SSH keys managed by Coolify)
- Added deploy files to .gitignore for security
- Deployment now handled via Coolify webhooks
2026-01-23 22:27:31 +01:00
Mikael Westöö
14a5b50fa8 Fix admin login - accept both fullName and full-name form fields
Form sends 'full-name' but server expected 'fullName'.
Now accepts both formats for compatibility.
2026-01-23 22:22:23 +01:00
Mikael Westöö
dc2fd61856 Test webhook auto-deployment with UUID 2026-01-23 22:18:51 +01:00
Mikael Westöö
d5bba2c0fd Update deployment status - fully operational
- All migrations running successfully
- Database initialized with sample data
- Webhook configured with secret for auto-deployment
- Site fully functional at https://recruitai.startanaicompany.com
2026-01-23 22:17:37 +01:00
Mikael Westöö
8653b00921 Fix database migrations - run from app container instead of volume mount
- 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
2026-01-23 22:12:16 +01:00
Mikael Westöö
a44f8e18d7 Remove volume mount for public directory - files built into image
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.
2026-01-23 21:59:41 +01:00
Mikael Westöö
40f4a41203 Fix public directory copy in Dockerfile - use trailing slashes 2026-01-23 21:54:46 +01:00
Mikael Westöö
e0ad2bc49e Fix root path routing - serve index.html for / 2026-01-23 21:45:38 +01:00
Mikael Westöö
42993ced70 Fix deployment issues
- Remove healthcheck from Dockerfile (Coolify handles this)
- Make database connection non-blocking
- Add Coolify-specific docker-compose file
- Improve error handling for database connection
2026-01-23 21:34:33 +01:00
Mikael Westöö
c914be9b46 Add deployment status documentation 2026-01-23 21:26:53 +01:00
Mikael Westöö
30f094f049 Add deployment script and documentation
- Deployment script for Coolify setup
- Comprehensive deployment guide
- SSH public key included
- Updated .gitignore to exclude private key
2026-01-23 21:23:39 +01:00
Mikael Westöö
406d278a39 Initial commit: AI Recruitment Site for Ryans Recruit Firm
- Complete PostgreSQL schema with migrations
- Node.js/Express backend with authentication
- Public website (home, about, services, jobs, apply, contact)
- Admin dashboard with applicant and job management
- CV upload and storage in PostgreSQL BYTEA
- Docker Compose setup for deployment
- Session-based authentication
- Responsive design with Ryan brand colors
2026-01-23 21:17:24 +01:00