diff --git a/bin/fix b/bin/fix index cc70b2e..057dab5 100755 --- a/bin/fix +++ b/bin/fix @@ -28,20 +28,32 @@ if /federated/bin/check ${SERVICE}; then exit 0 fi -[ -e /federated/services/${SERVICE}/fix ] && . /federated/services/${SERVICE}/fix +if [ -e /federated/services/${SERVICE}/fix ]; then + . /federated/services/${SERVICE}/fix -if /federated/bin/check ${SERVICE}; then - echo "${SERVICE} was (probably) fixed by the service fix script" - exit 0 + if /federated/bin/check ${SERVICE}; then + echo "${SERVICE} was (probably) fixed by the service fix script" + exit 0 + fi + + /federated/bin/stop ${SERVICE} + /federated/bin/start ${SERVICE} + + if /federated/bin/check ${SERVICE}; then + echo "${SERVICE} was (probably) fixed by restarting after running the fix script" + exit 0 + fi fi -/federated/bin/stop ${SERVICE} +docker compose -f /federated/apps/${SERVICE}/docker-compose.yml down +docker rm ${SERVICE} +/federated/bin/stop ${SERVICE} || : /federated/bin/start ${SERVICE} - if /federated/bin/check ${SERVICE}; then - echo "${SERVICE} was (probably) fixed by restarting after running the fix script" + echo "${SERVICE} was (probably) fixed by rebuilding the container" exit 0 fi + echo "${SERVICE} is still broken. Please improve the fix script." exit 1