create DB

This commit is contained in:
2025-06-06 15:20:18 +02:00
parent a917822fb8
commit fd34dd20ca
2 changed files with 31 additions and 6 deletions

View File

@@ -4,6 +4,7 @@ FROM python:3.11-slim
RUN apt-get update && apt-get install -y \
build-essential \
libpq-dev \
postgresql-client \
curl \
netcat-traditional \
&& rm -rf /var/lib/apt/lists/*

View File

@@ -7,12 +7,28 @@ echo "POSTGRES_PASSWORD: $POSTGRES_PASSWORD"
echo "POSTGRES_DB: $POSTGRES_DB"
echo "DATABASE_URL: $DATABASE_URL"
# Wait for the database to be ready
echo "Waiting for database to be ready..."
while ! nc -z db 5432; do
sleep 0.1
done
echo "Database is ready!"
# Function to wait for database
wait_for_db() {
echo "Waiting for database..."
while ! nc -z db 5432; do
sleep 1
done
echo "Database is ready!"
}
# Function to create database if it doesn't exist
create_database() {
echo "Creating database if it doesn't exist..."
PGPASSWORD=$POSTGRES_PASSWORD psql -h db -U $POSTGRES_USER -tc "SELECT 1 FROM pg_database WHERE datname = '$POSTGRES_DB'" | grep -q 1 || \
PGPASSWORD=$POSTGRES_PASSWORD psql -h db -U $POSTGRES_USER -c "CREATE DATABASE $POSTGRES_DB"
echo "Database check/creation complete!"
}
# Wait for database to be ready
wait_for_db
# Create database if it doesn't exist
create_database
# Wait for PostgreSQL to be ready to accept connections
echo "Waiting for PostgreSQL to accept connections..."
@@ -75,6 +91,14 @@ from init_admin import init_admin
init_admin()
"
# Create admin user
echo "Creating admin user..."
flask create-admin
# Create default templates
echo "Creating default templates..."
flask create-default-templates
# Start the application
echo "Starting application..."
exec gunicorn --bind 0.0.0.0:5000 app:app