# Base path for docker-compose files
COMPOSE_PATH=~/Projects/AltNet/docker-compose

# List of services (folder names)
SERVICES=monitoring ai cloudstorage crm_tp crm_cf mediacenter homeautomation network backup homepage passwordmanager

# Bring up all services
all_up:
	@for service in $(SERVICES); do \
		docker compose -f $(COMPOSE_PATH)/$$service/compose.yml up -d; \
	done

# Bring down all services
all_down:
	@for service in $(SERVICES); do \
		docker compose -f $(COMPOSE_PATH)/$$service/compose.yml down; \
	done

# Generic target to deploy a specific service
%_up:
	@docker compose -f $(COMPOSE_PATH)/$*/compose.yml up -d

# Generic target to bring down a specific service
%_down:
	@docker compose -f $(COMPOSE_PATH)/$*/compose.yml down

all_stack_up:
	@for service in $(SERVICES); do \
		docker stack deploy -c $(COMPOSE_PATH)/$$service/compose.yml $$service; \
	done

all_stack_down:
	@for service in $(SERVICES); do \
		docker stack rm $$service; \
	done

%_stack_up:
	@docker stack deploy -c $(COMPOSE_PATH)/$*/compose.yml $*

%_stack_down:
	@docker stack rm $*

stack_ls:
	@docker node ps workGoat;
	docker node ps workHorse
