| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | 
							- import os
 
- import sys
 
- import signal
 
- def handle_sigterm(signum, frame):
 
-   print("Received SIGTERM, exiting gracefully...")
 
-   sys.exit(0)
 
- def main():
 
-   signal.signal(signal.SIGTERM, handle_sigterm)
 
-   container_name = os.getenv("CONTAINER_NAME")
 
-   service_name = container_name.replace("-mailcow", "").replace("-", "")
 
-   module_name = f"Bootstrap{service_name.capitalize()}"
 
-   try:
 
-     mod = __import__(f"modules.{module_name}", fromlist=[module_name])
 
-     Bootstrap = getattr(mod, module_name)
 
-   except (ImportError, AttributeError) as e:
 
-     print(f"Failed to load bootstrap module for: {container_name} → {module_name}")
 
-     print(str(e))
 
-     sys.exit(1)
 
-   b = Bootstrap(
 
-     container=container_name,
 
-     service=service_name,
 
-     db_config={
 
-       "host": "localhost",
 
-       "user": os.getenv("DBUSER") or os.getenv("MYSQL_USER"),
 
-       "password": os.getenv("DBPASS") or os.getenv("MYSQL_PASSWORD"),
 
-       "database": os.getenv("DBNAME") or os.getenv("MYSQL_DATABASE"),
 
-       "unix_socket": "/var/run/mysqld/mysqld.sock",
 
-       'connection_timeout': 2,
 
-       'service_table': "service_settings",
 
-       'service_types': [service_name]
 
-     },
 
-     redis_config={
 
-       "read_host": "redis-mailcow",
 
-       "read_port": 6379,
 
-       "write_host": os.getenv("REDIS_SLAVEOF_IP") or "redis-mailcow",
 
-       "write_port": int(os.getenv("REDIS_SLAVEOF_PORT") or 6379),
 
-       "password": os.getenv("REDISPASS"),
 
-       "db": 0
 
-     }
 
-   )
 
-   b.bootstrap()
 
- if __name__ == "__main__":
 
-   main()
 
 
  |