import os import yaml def load_existing_compose(file_path): try: with open(file_path, 'r') as f: return yaml.safe_load(f) except FileNotFoundError: return None def create_compose_config(service_name): # Beispieldaten basierend auf dem Service image_name = input("Enter image name: ") image_tag = input("Enter image tag [latest]: ") or "latest" subdomain = input("Enter subdomain for Traefik: ") container_port = input("Enter container port [80]: ") or "80" return { 'version': '3', 'services': { service_name: { 'image': f"{image_name}:{image_tag}", 'container_name': service_name, 'restart': 'always', 'networks': ['traefik_network'], 'labels': [ "traefik.enable=true", f"traefik.http.routers.{service_name}.rule=Host(`{subdomain}.hessenkamp-server.de`)", f"traefik.http.routers.{service_name}.entrypoints=websecure", f"traefik.http.routers.{service_name}.tls.certresolver=letsencrypt", f"traefik.http.services.{service_name}.loadbalancer.server.port={container_port}" ] } }, 'networks': { 'traefik_network': { 'external': True } } }