4.4 KiB
🚀 Deployment Status - AI Recruitment Site
✅ DEPLOYMENT COMPLETE!
The AI Recruitment Site has been successfully deployed to Coolify.
🌐 Access the Site
- Public Website: http://recruitai.startanaicompany.com
- Admin Panel: http://recruitai.startanaicompany.com/admin/login
Note: The deployment is currently building. Please wait 2-3 minutes for the site to become available.
📊 Deployment Details
Application:
- UUID:
ps0kkk4s8cokggs8wosckk0k - Name: recruitai
- Deployment UUID:
cowg80c48o04scgk4gk8g4kg - Status: Building...
Repository:
- Gitea: https://git.startanaicompany.com/mikael.westoo/ai-recruit-site-template
- Branch: master
- Webhook: ✅ Configured (auto-deploy on push)
Infrastructure:
- Server: h001 (78.46.41.201)
- Project: RecruitAI (
y8804s80goowsccwk8400kwo) - Environment: production
- DNS: recruitai.startanaicompany.com → ps0kkk4s8cokggs8wosckk0k.78.46.41.201.sslip.io
🔍 Monitor Deployment
Coolify Dashboard: https://app.coolify.io/project/y8804s80goowsccwk8400kwo/environment/a4g8gwwo48wkkck80og0g84k/application/ps0kkk4s8cokggs8wosckk0k
Check Deployment Status:
curl -s "https://app.coolify.io/api/v1/deployments/cowg80c48o04scgk4gk8g4kg" \
-H "Authorization: Bearer 1790|8Klldu1hXjtODfZhl0dFn5D6Jhd7X285CuPzcQBdffaed898"
🎯 First Steps After Deployment
-
Wait for Build: Give it 2-3 minutes to complete the initial build
-
Access Admin Panel: http://recruitai.startanaicompany.com/admin/login
-
Create First Admin:
- Enter your email
- Create a secure password
- Enter your full name
- Click "Create Admin Account"
-
Add Sample Jobs (optional):
- 5 sample jobs are already seeded in the database
- Or create your own jobs in the admin panel
-
Test Application Flow:
- Browse jobs on the public site
- Submit a test application with CV
- Check it appears in the admin panel
- Download the CV to verify storage
🔧 Configuration Notes
Database:
- Uses Docker Compose with PostgreSQL 15-alpine
- Database name:
recruitment - Migrations run automatically on first start
- CV files stored as BYTEA in PostgreSQL
Environment Variables:
- Default environment variables are set in docker-compose.yml
- TODO: Add custom SESSION_SECRET via Coolify UI for production security
- TODO: Add custom DB_PASSWORD via Coolify UI
Security:
- Session-based authentication active
- Passwords hashed with bcrypt
- SQL injection protection enabled
- File upload validation (PDF/DOC/DOCX only, 5MB max)
🔄 Auto-Deployment
Webhook configured! Any push to the master branch will automatically trigger redeployment:
cd /home/milko/projects/ryan/airecruit-site/ai-recruit-site-template
# Make changes
vim public/index.html
# Commit and push
git add .
git commit -m "Update homepage"
git push origin master
# Coolify will automatically redeploy!
📝 What's Been Deployed
Public Pages (6 pages):
- ✅ Home page with company overview
- ✅ About Us page
- ✅ Services page
- ✅ Job Listings (dynamic from database)
- ✅ Application form with CV upload
- ✅ Contact form
Admin Pages (4 pages):
- ✅ Login/First-admin creation
- ✅ Dashboard with statistics
- ✅ Applications management
- ✅ Jobs management
Features:
- ✅ CV upload and storage (PostgreSQL BYTEA)
- ✅ Session-based admin authentication
- ✅ Job posting management
- ✅ Application status tracking
- ✅ CV download functionality
- ✅ Responsive design (mobile/tablet/desktop)
- ✅ Ryan brand colors and styling
🐛 Troubleshooting
Site not loading?
- Wait 3-5 minutes for initial build
- Check Coolify logs in dashboard
- Verify DNS propagation:
dig recruitai.startanaicompany.com
Database connection issues?
- PostgreSQL starts automatically with the app
- Check docker-compose.yml for configuration
- Migrations run on first container start
Can't login to admin?
- First time: System will prompt you to create admin account
- Make sure you're using correct email/password
- Check browser console for errors
📞 Support
- Documentation: See README.md and DEPLOYMENT_GUIDE.md
- Repository: https://git.startanaicompany.com/mikael.westoo/ai-recruit-site-template
- Coolify: https://app.coolify.io
Deployment Initiated: 2026-01-23 Status: ✅ In Progress ETA: 2-3 minutes