maybe good

This commit is contained in:
HotSwapp
2025-08-08 15:55:15 -05:00
parent ab6f163c15
commit b257a06787
80 changed files with 19739 additions and 0 deletions

76
scripts/init-container.sh Executable file
View File

@@ -0,0 +1,76 @@
#!/bin/bash
# Initialization script for Delphi Database System Docker container
set -e
echo "🚀 Initializing Delphi Consulting Group Database System..."
# Create necessary directories
mkdir -p /app/data /app/uploads /app/backups /app/exports /app/logs
# Set permissions
chmod 755 /app/data /app/uploads /app/backups /app/exports
chmod 750 /app/logs
# Check if database exists
if [ ! -f "/app/data/delphi_database.db" ]; then
echo "📊 Database not found. Creating new database..."
# Initialize database tables
python -c "
from app.database.base import engine
from app.models import BaseModel
BaseModel.metadata.create_all(bind=engine)
print('✅ Database tables created successfully')
"
# Check if we should create admin user
if [ "${CREATE_ADMIN_USER}" = "true" ]; then
echo "👤 Creating default admin user..."
python -c "
from sqlalchemy.orm import sessionmaker
from app.database.base import engine
from app.models.user import User
from app.auth.security import get_password_hash
import os
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
db = SessionLocal()
try:
# Check if admin already exists
existing_admin = db.query(User).filter(User.username == 'admin').first()
if not existing_admin:
admin_user = User(
username=os.getenv('ADMIN_USERNAME', 'admin'),
email=os.getenv('ADMIN_EMAIL', 'admin@delphicg.local'),
full_name=os.getenv('ADMIN_FULLNAME', 'System Administrator'),
hashed_password=get_password_hash(os.getenv('ADMIN_PASSWORD', 'admin123')),
is_active=True,
is_admin=True
)
db.add(admin_user)
db.commit()
print('✅ Default admin user created')
print(f' Username: {admin_user.username}')
print(f' Email: {admin_user.email}')
print(' Password: See ADMIN_PASSWORD environment variable')
else:
print(' Admin user already exists, skipping creation')
finally:
db.close()
"
fi
else
echo "✅ Database found, skipping initialization"
fi
# Run database migrations if needed (future feature)
# echo "🔄 Running database migrations..."
# python -m alembic upgrade head
echo "🎉 Initialization complete!"
# Start the application
echo "🌟 Starting Delphi Database System..."
exec "$@"