49 lines
1.0 KiB
Bash
49 lines
1.0 KiB
Bash
#!/bin/bash
|
|
# Docker entrypoint script for Jobs App
|
|
|
|
set -e
|
|
|
|
echo "🚀 Starting Jobs App container..."
|
|
|
|
# Wait for MySQL to be ready
|
|
echo "⏳ Waiting for MySQL to be ready..."
|
|
python -c "
|
|
import time
|
|
import pymysql
|
|
while True:
|
|
try:
|
|
conn = pymysql.connect(
|
|
host='192.168.88.37',
|
|
user='jobs',
|
|
password='jobdb',
|
|
database='jobs',
|
|
connect_timeout=5
|
|
)
|
|
conn.close()
|
|
print('✅ MySQL is ready!')
|
|
break
|
|
except pymysql.Error as e:
|
|
print(f'MySQL is not ready: {e}, waiting...')
|
|
time.sleep(2)
|
|
"
|
|
|
|
# Run database setup
|
|
echo "🗄️ Setting up database..."
|
|
python setup.py mysql-init
|
|
|
|
# Seed initial data if needed
|
|
echo "🌱 Seeding initial data..."
|
|
python -c "
|
|
from web.db import db_init
|
|
from web.utils import initialize_users_from_settings
|
|
db_init()
|
|
try:
|
|
initialize_users_from_settings()
|
|
print('✅ Users seeded successfully')
|
|
except Exception as e:
|
|
print(f'⚠️ User seeding failed: {e}')
|
|
"
|
|
|
|
echo "🎯 Starting Gunicorn server..."
|
|
exec "$@"
|