docker-installationen/scripts/docker_compose_creator/compose_utils.py

41 lines
1.4 KiB
Python

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
}
}
}