create DB
This commit is contained in:
@@ -4,6 +4,7 @@ FROM python:3.11-slim
|
|||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
build-essential \
|
build-essential \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
|
postgresql-client \
|
||||||
curl \
|
curl \
|
||||||
netcat-traditional \
|
netcat-traditional \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|||||||
@@ -7,12 +7,28 @@ echo "POSTGRES_PASSWORD: $POSTGRES_PASSWORD"
|
|||||||
echo "POSTGRES_DB: $POSTGRES_DB"
|
echo "POSTGRES_DB: $POSTGRES_DB"
|
||||||
echo "DATABASE_URL: $DATABASE_URL"
|
echo "DATABASE_URL: $DATABASE_URL"
|
||||||
|
|
||||||
# Wait for the database to be ready
|
# Function to wait for database
|
||||||
echo "Waiting for database to be ready..."
|
wait_for_db() {
|
||||||
|
echo "Waiting for database..."
|
||||||
while ! nc -z db 5432; do
|
while ! nc -z db 5432; do
|
||||||
sleep 0.1
|
sleep 1
|
||||||
done
|
done
|
||||||
echo "Database is ready!"
|
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
|
# Wait for PostgreSQL to be ready to accept connections
|
||||||
echo "Waiting for PostgreSQL to accept connections..."
|
echo "Waiting for PostgreSQL to accept connections..."
|
||||||
@@ -75,6 +91,14 @@ from init_admin import init_admin
|
|||||||
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
|
# Start the application
|
||||||
echo "Starting application..."
|
echo "Starting application..."
|
||||||
exec gunicorn --bind 0.0.0.0:5000 app:app
|
exec gunicorn --bind 0.0.0.0:5000 app:app
|
||||||
Reference in New Issue
Block a user