lronetto-main/Makefile
Leandro Ronetto dfb7207001 chore(orquestrador): adiciona stacks finance e claudeweb ao Makefile
Makefile:
- FINANCE_DIR / CLAUDEWEB_DIR + alvos up/down/logs/pull/rebuild pra ambas
- up: main -> gitea -> wedding -> finance -> claudeweb (down inverso)
- claudeweb usa deploy/compose.yml com .env na raiz do repo, e up/rebuild
  delegam ao Makefile dele porque a imagem do worker efemero (worker-image)
  nao e servico do compose
- network-claudeweb cria a network external claudeweb-workers reusando
  network.sh via INFRA_NETWORK=
- clone-claudeweb e URLs dos repos registradas no cabecalho

CLAUDE.md: secoes 2, 4, 5, 6 e 10 atualizadas (deixou de ser "3 stacks").
Novo gotcha na secao 9: os snippets de Caddy e do init do Postgres que
finance e claudeweb trazem ainda nao foram aplicados neste repo, entao os
dois sobem mas nao ficam acessiveis por HTTPS.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-23 17:50:37 -03:00

158 lines
4.9 KiB
Makefile

.PHONY: help network network-claudeweb up down restart status \
up-main up-gitea up-wedding up-finance up-claudeweb \
down-main down-gitea down-wedding down-finance down-claudeweb \
logs-main logs-gitea logs-wedding logs-finance logs-claudeweb \
pull-main pull-gitea pull-wedding pull-finance pull-claudeweb \
rebuild-wedding rebuild-finance rebuild-claudeweb clone-claudeweb
# Orquestrador das stacks. `lronetto-main` é o "platform layer"
# (postgres + redis + minio + pgadmin + caddy). Os demais repos são clonados
# como diretórios IRMÃOS e referenciados aqui. Ajuste os caminhos abaixo se
# usar outro layout no disco.
#
# lronetto-gitea https://gitea.lronetto.com/lronetto/lronetto-gitea.git
# lronetto-wedding https://gitea.lronetto.com/lronetto/lronetto-wedding.git
# lronetto-finance https://gitea.lronetto.com/lronetto/lronetto-finance.git
# lronetto-claudeweb https://gitea.lronetto.com/lronetto/lronetto-claudeweb.git
NET := infra-net
# Rede isolada dos workers efêmeros do claudeweb (declarada external no compose dele).
NET_WORKERS := claudeweb-workers
WEDDING_DIR ?= ../lronetto-wedding
GITEA_DIR ?= ../lronetto-gitea
FINANCE_DIR ?= ../lronetto-finance
CLAUDEWEB_DIR ?= ../lronetto-claudeweb
CLAUDEWEB_REPO ?= https://gitea.lronetto.com/lronetto/lronetto-claudeweb.git
DC_MAIN := docker compose -f docker-compose.yml --env-file .env
DC_GITEA := docker compose -f $(GITEA_DIR)/docker-compose.yml --env-file $(GITEA_DIR)/.env
DC_WEDDING := docker compose -f $(WEDDING_DIR)/docker-compose.yml --env-file $(WEDDING_DIR)/.env
DC_FINANCE := docker compose -f $(FINANCE_DIR)/docker-compose.yml --env-file $(FINANCE_DIR)/.env
# claudeweb: compose vive em deploy/compose.yml e o .env fica na RAIZ do repo.
DC_CLAUDEWEB := docker compose -f $(CLAUDEWEB_DIR)/deploy/compose.yml --env-file $(CLAUDEWEB_DIR)/.env
help:
@echo "Stacks: main (este repo) | gitea ($(GITEA_DIR)) | wedding ($(WEDDING_DIR))"
@echo " finance ($(FINANCE_DIR)) | claudeweb ($(CLAUDEWEB_DIR))"
@echo ""
@echo " make up Sobe tudo (main -> gitea -> wedding -> finance -> claudeweb)"
@echo " make down Desce tudo na ordem inversa"
@echo " make restart down + up"
@echo " make status ps de todas as stacks"
@echo ""
@echo " make up-main Sobe só a stack main"
@echo " make up-gitea Sobe só o gitea"
@echo " make up-wedding Build + up do app wedding"
@echo " make up-finance Build + up do app finance"
@echo " make up-claudeweb Build (incl. worker-image) + up do claudeweb"
@echo " make rebuild-wedding Force rebuild do app wedding"
@echo " make rebuild-finance Force rebuild do app finance"
@echo " make rebuild-claudeweb Force rebuild do claudeweb"
@echo " make down-{main,gitea,wedding,finance,claudeweb}"
@echo " make logs-{main,gitea,wedding,finance,claudeweb}"
@echo " make pull-{main,gitea,wedding,finance,claudeweb}"
@echo " make clone-claudeweb Clona $(CLAUDEWEB_REPO) em $(CLAUDEWEB_DIR)"
@echo " make network Cria a network external '$(NET)' (idempotente)"
@echo " make network-claudeweb Cria a network external '$(NET_WORKERS)' (idempotente)"
network:
@./network.sh
network-claudeweb:
@INFRA_NETWORK=$(NET_WORKERS) ./network.sh
up: network up-main up-gitea up-wedding up-finance up-claudeweb
down: down-claudeweb down-finance down-wedding down-gitea down-main
restart: down up
status:
@$(DC_MAIN) ps || true
@$(DC_GITEA) ps || true
@$(DC_WEDDING) ps || true
@$(DC_FINANCE) ps || true
@$(DC_CLAUDEWEB) ps || true
up-main: network
$(DC_MAIN) up -d
up-gitea: network
$(DC_GITEA) up -d
up-wedding: network
$(DC_WEDDING) up -d --build
up-finance: network
$(DC_FINANCE) up -d --build
# Delegado ao Makefile do repo: o `up` de lá builda antes a imagem do worker
# efêmero (fora do compose) que o backend instancia.
up-claudeweb: network network-claudeweb
$(MAKE) -C $(CLAUDEWEB_DIR) up
rebuild-wedding: network
$(DC_WEDDING) build --no-cache
$(DC_WEDDING) up -d
rebuild-finance: network
$(DC_FINANCE) build --no-cache
$(DC_FINANCE) up -d
rebuild-claudeweb: network network-claudeweb
$(MAKE) -C $(CLAUDEWEB_DIR) worker-image
$(DC_CLAUDEWEB) build --no-cache
$(DC_CLAUDEWEB) up -d
down-main:
$(DC_MAIN) down
down-gitea:
$(DC_GITEA) down
down-wedding:
$(DC_WEDDING) down
down-finance:
$(DC_FINANCE) down
down-claudeweb:
$(DC_CLAUDEWEB) down
logs-main:
$(DC_MAIN) logs -f
logs-gitea:
$(DC_GITEA) logs -f
logs-wedding:
$(DC_WEDDING) logs -f
logs-finance:
$(DC_FINANCE) logs -f
logs-claudeweb:
$(DC_CLAUDEWEB) logs -f
pull-main:
$(DC_MAIN) pull
pull-gitea:
$(DC_GITEA) pull
pull-wedding:
$(DC_WEDDING) pull
pull-finance:
$(DC_FINANCE) pull
pull-claudeweb:
$(DC_CLAUDEWEB) pull
clone-claudeweb:
@test -d $(CLAUDEWEB_DIR)/.git \
&& echo "$(CLAUDEWEB_DIR) já existe" \
|| git clone $(CLAUDEWEB_REPO) $(CLAUDEWEB_DIR)