diff --git a/plogical/vhost.py b/plogical/vhost.py index f5fd2a30f..a3f5df68e 100755 --- a/plogical/vhost.py +++ b/plogical/vhost.py @@ -25,7 +25,7 @@ from managePHP.phpManager import PHPManager from plogical.vhostConfs import vhostConfs from ApachController.ApacheVhosts import ApacheVhost try: - from websiteFunctions.models import Websites, ChildDomains, aliasDomains + from websiteFunctions.models import Websites, ChildDomains, aliasDomains, DockerSites from databases.models import Databases except: pass @@ -404,6 +404,23 @@ class vhost: if ACLManager.FindIfChild() == 0: + ### Delete Docker Sites first before website deletion + + if os.path.exists('/home/docker/%s' % (virtualHostName)): + try: + dockerSite = DockerSites.objects.get(admin__domain=virtualHostName) + passdata = { + "domain": virtualHostName, + "name": dockerSite.SiteName + } + from plogical.DockerSites import Docker_Sites + da = Docker_Sites(None, passdata) + da.DeleteDockerApp() + dockerSite.delete() + except: + # If anything fails in Docker cleanup, at least remove the directory + shutil.rmtree('/home/docker/%s' % (virtualHostName)) + for items in databases: mysqlUtilities.deleteDatabase(items.dbName, items.dbUser) @@ -448,11 +465,6 @@ class vhost: if os.path.exists('/root/.acme.sh/%s' % (virtualHostName)): shutil.rmtree('/root/.acme.sh/%s' % (virtualHostName)) - ### Delete Docker Sites - - if os.path.exists('/home/docker/%s' % (virtualHostName)): - shutil.rmtree('/home/docker/%s' % (virtualHostName)) - except BaseException as msg: logging.CyberCPLogFileWriter.writeToFile(str(msg) + " [Not able to remove virtual host configuration from main configuration file.]") return 0