71 lines
1.7 KiB
Bash
Executable File
71 lines
1.7 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
docker exec -i centurion-erp pip install -r /requirements_test.txt
|
|
|
|
docker exec -i centurion-erp supervisorctl restart gunicorn
|
|
|
|
|
|
CONTAINER_NAME="centurion-erp-init"
|
|
TIMEOUT=400
|
|
INTERVAL=5
|
|
ELAPSED=0
|
|
STATUS=""
|
|
|
|
while [ "$STATUS" != "exited" ] && [ "$STATUS" != "dead" ]; do
|
|
|
|
STATUS=$(docker inspect --format '{{.State.Status}}' "$CONTAINER_NAME" 2>/dev/null || echo "not_found")
|
|
|
|
|
|
if [ "$STATUS" = "not_found" ]; then
|
|
docker ps -a
|
|
echo "Container $CONTAINER_NAME was not found."
|
|
exit 2
|
|
fi
|
|
|
|
if [ $ELAPSED -ge $TIMEOUT ]; then
|
|
echo "Timeout reached. Container $CONTAINER_NAME still running (status: $STATUS)."
|
|
exit 3
|
|
fi
|
|
|
|
echo "Waiting for container $CONTAINER_NAME to complete... Current status: $STATUS"
|
|
sleep $INTERVAL
|
|
ELAPSED=$((ELAPSED + INTERVAL))
|
|
done
|
|
|
|
echo "Container $CONTAINER_NAME has completed."
|
|
|
|
|
|
CONTAINER_NAME="centurion-erp"
|
|
TIMEOUT=90
|
|
INTERVAL=5
|
|
ELAPSED=0
|
|
STATUS=""
|
|
|
|
while [ "$STATUS" != "healthy" ]; do
|
|
STATUS=$(docker inspect --format '{{.State.Health.Status}}' "$CONTAINER_NAME" 2>/dev/null || echo "none")
|
|
|
|
if [ $ELAPSED -ge $TIMEOUT ]; then
|
|
echo "Timeout reached. Container $CONTAINER_NAME is not healthy."
|
|
exit 4
|
|
fi
|
|
|
|
echo "Waiting for container $CONTAINER_NAME to be healthy... Current status: $STATUS"
|
|
sleep $INTERVAL
|
|
ELAPSED=$((ELAPSED + INTERVAL))
|
|
done
|
|
|
|
docker exec -i centurion-erp python manage.py createsuperuser --username admin --email admin@localhost --noinput
|
|
|
|
docker exec -i centurion-erp apk add expect
|
|
|
|
docker exec -i centurion-erp expect -c "
|
|
spawn python manage.py changepassword admin
|
|
expect \"Password:\"
|
|
send \"admin\r\"
|
|
expect \"Password (again):\"
|
|
send \"admin\r\"
|
|
expect eof
|
|
"
|