feat: replace docker.py with service.py for improved Docker service management
Some checks failed
Nix Format Check / check-format (push) Failing after 37s

This commit is contained in:
Menno van Leeuwen 2025-03-12 12:32:36 +01:00
parent f239dd1a46
commit f31e77a2f3
Signed by: vleeuwenmenno
SSH Key Fingerprint: SHA256:OJFmjANpakwD3F2Rsws4GLtbdz1TJ5tkQF0RZmF0TRE
2 changed files with 23 additions and 6 deletions

View File

@ -72,6 +72,20 @@ def cmd_logs(args):
return run_docker_compose(cmd, service_name=args.service) return run_docker_compose(cmd, service_name=args.service)
def check_service_running(service_name):
"""Check if service has running containers"""
compose_file = get_service_path(service_name)
if not compose_file:
return False
result = subprocess.run(
["docker", "compose", "-f", compose_file, "ps", "--quiet"],
capture_output=True,
text=True
)
return bool(result.stdout.strip())
def cmd_list(args): def cmd_list(args):
"""List available Docker services""" """List available Docker services"""
if not os.path.exists(SERVICES_DIR): if not os.path.exists(SERVICES_DIR):
@ -86,9 +100,12 @@ def cmd_list(args):
printfe("yellow", "No Docker services found") printfe("yellow", "No Docker services found")
return 0 return 0
println("Available Docker services:") println("Available Docker services:", 'blue')
for service in sorted(services): for service in sorted(services):
println(f" - {service}") is_running = check_service_running(service)
status = "[RUNNING]" if is_running else "[STOPPED]"
color = "green" if is_running else "red"
printfe(color, f" - {service:<20} {status}")
return 0 return 0

View File

@ -45,9 +45,9 @@ def auto_start(args):
"""Run the auto-start action""" """Run the auto-start action"""
return run_script(f"{DOTFILES_BIN}/actions/auto-start.py", args) return run_script(f"{DOTFILES_BIN}/actions/auto-start.py", args)
def docker(args): def service(args):
"""Run the docker action""" """Run the service/docker action"""
return run_script(f"{DOTFILES_BIN}/actions/docker.py", args) return run_script(f"{DOTFILES_BIN}/actions/service.py", args)
def ensure_git_hooks(): def ensure_git_hooks():
"""Ensure git hooks are correctly set up""" """Ensure git hooks are correctly set up"""
@ -103,7 +103,7 @@ def main():
"hello": hello, "hello": hello,
"secrets": secrets, "secrets": secrets,
"auto-start": auto_start, "auto-start": auto_start,
"docker": docker "service": service
} }
if command in commands: if command in commands: