diff --git a/Dockerfile b/Dockerfile index d323b80..2dde1e5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,7 @@ FROM pearadminflask/python3.7-flask:pillow COPY . /app/ +COPY dockerdata/start.sh /app/ COPY dockerdata/gunicorn.conf.py /app/ WORKDIR /app/ @@ -14,4 +15,4 @@ RUN chmod +x start.sh RUN sed -i 's/MYSQL_HOST = "127.0.0.1"/MYSQL_HOST = "mysql"/' applications/config.py RUN sed -i 's/REDIS_HOST = "127.0.0.1"/REDIS_HOST = "redis"/' applications/config.py -CMD /bin/sh \ No newline at end of file +CMD /bin/sh diff --git a/dockerdata/start.sh b/dockerdata/start.sh index 7191f70..54dfe08 100644 --- a/dockerdata/start.sh +++ b/dockerdata/start.sh @@ -1,6 +1,25 @@ -#!/bin/sh -while ! flask db init ; do - sleep 5 ; -done ; -flask db migrate && flask db upgrade && flask admin init +#!/bin/bash + +# Wait for MySQL container to be ready +echo "Waiting for MySQL container to start..." +until mysql -h mysql -uroot -p123456 -e ";" 2>/dev/null; do + echo "MySQL container not ready, sleeping for 5 seconds..." + sleep 5 +done +echo "MySQL container started successfully!" + +# to start create the dababase +echo " start to create the databse... " +mysql -uroot -p123456 -hmysql -e 'CREATE DATABASE PearAdminFlask DEFAULT CHARSET UTF8;' + + +# Initialize Flask database +echo "Initializing Flask database..." +flask db init +flask db migrate +flask db upgrade +flask admin init + +# Start gunicorn application +echo "Starting gunicorn application..." exec gunicorn -c gunicorn.conf.py "applications:create_app()" \ No newline at end of file