blob: b8a57827f13e307a9f9fdffe32959a06e51d220c [file] [log] [blame]
#!/usr/bin/python3 -u
import os, os.path, subprocess
SERVICE_DIR = "/container/service"
INSTALL_FILENAME = "install.sh"
PROCESS_FILENAME = "process.sh"
nb_process = 0
print("install-service")
# Auto run global install script if available
if os.path.isfile(SERVICE_DIR + os.sep + INSTALL_FILENAME):
print(("run " + SERVICE_DIR + os.sep + INSTALL_FILENAME))
subprocess.call([SERVICE_DIR + os.sep + INSTALL_FILENAME],shell=True)
print(("remove " + SERVICE_DIR + os.sep + INSTALL_FILENAME + "\n"))
os.remove(SERVICE_DIR + os.sep + INSTALL_FILENAME)
# Process install script of services in /container/service
for service in sorted(os.listdir(SERVICE_DIR)):
if os.path.isfile(SERVICE_DIR + os.sep + service + os.sep + INSTALL_FILENAME):
print(("run " + SERVICE_DIR + os.sep + service + os.sep + INSTALL_FILENAME))
subprocess.call([SERVICE_DIR + os.sep + service + os.sep + INSTALL_FILENAME],shell=True)
print(("remove " + SERVICE_DIR + os.sep + service + os.sep + INSTALL_FILENAME))
os.remove(SERVICE_DIR + os.sep + service + os.sep + INSTALL_FILENAME)
if os.path.isfile(SERVICE_DIR + os.sep + service + os.sep + PROCESS_FILENAME):
nb_process += 1
print((str(nb_process) + " process found."))
# Multiple process image
if nb_process > 1:
if not os.path.exists("/container/multiple_process_stack_added"):
print("This image has multiple process.")
subprocess.call(["apt-get update"],shell=True)
subprocess.call(["/container/tool/add-multiple-process-stack"],shell=True)
print("For better image build process consider adding:")
print("\"/container/tool/add-multiple-process-stack\" after an apt-get update in your Dockerfile.")