From fd34dd20caf96180cbbbdd053949b7a6466f0c0b Mon Sep 17 00:00:00 2001 From: Kobe Date: Fri, 6 Jun 2025 15:20:18 +0200 Subject: [PATCH] create DB --- Dockerfile | 1 + entrypoint.sh | 36 ++++++++++++++++++++++++++++++------ 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index b90e9b9..2a07259 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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/* diff --git a/entrypoint.sh b/entrypoint.sh index 60dddad..3d97414 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -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 \ No newline at end of file