diff --git a/Dockerfile b/Dockerfile index d323b80bc8f4edbf450dc3d13ef6e3eea5fcab9f..2dde1e525fc601a1dadd23d5cd14c155831c0cf4 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 7191f70b3aa59fdb9638d55b9530adfd2e33aa4b..54dfe0892b4bc5a5d18814ed883abe8467415047 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 diff --git a/start.sh b/start.sh deleted file mode 100644 index 54dfe0892b4bc5a5d18814ed883abe8467415047..0000000000000000000000000000000000000000 --- a/start.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/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