Makefile:
- BOMVIZINHO_DIR + alvos up/down/logs/pull/rebuild/clone
- compose em infra/docker-compose.yml e .env em infra/.env (terceiro layout
diferente entre os repos; por isso os -f/--env-file explicitos)
- ordem do up: main -> gitea -> wedding -> finance -> bomvizinho -> claudeweb
CLAUDE.md: tabela de onde vive compose/.env por repo, container
bomvizinho_api, URL api.bomvizinho.{DOMAIN_BASE} e comandos novos.
Gotcha da secao 9 ampliado: bom-vizinho nao traz snippet de Caddy pronto e
exige PostGIS, que a imagem atual (postgres:16-alpine) nao tem.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
190 lines
6.0 KiB
Makefile
190 lines
6.0 KiB
Makefile
.PHONY: help network network-claudeweb up down restart status \
|
|
up-main up-gitea up-wedding up-finance up-bomvizinho up-claudeweb \
|
|
down-main down-gitea down-wedding down-finance down-bomvizinho down-claudeweb \
|
|
logs-main logs-gitea logs-wedding logs-finance logs-bomvizinho logs-claudeweb \
|
|
pull-main pull-gitea pull-wedding pull-finance pull-bomvizinho pull-claudeweb \
|
|
rebuild-wedding rebuild-finance rebuild-bomvizinho rebuild-claudeweb \
|
|
clone-claudeweb clone-bomvizinho
|
|
|
|
# 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-bom-vizinho https://gitea.lronetto.com/lronetto/lronetto-bom-vizinho.git
|
|
# lronetto-claudeweb https://gitea.lronetto.com/lronetto/lronetto-claudeweb.git
|
|
#
|
|
# Cada repo põe o compose e o .env num lugar diferente — daí os -f/--env-file
|
|
# explícitos abaixo em vez de um padrão único.
|
|
|
|
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
|
|
BOMVIZINHO_DIR ?= ../lronetto-bom-vizinho
|
|
CLAUDEWEB_DIR ?= ../lronetto-claudeweb
|
|
|
|
CLAUDEWEB_REPO ?= https://gitea.lronetto.com/lronetto/lronetto-claudeweb.git
|
|
BOMVIZINHO_REPO ?= https://gitea.lronetto.com/lronetto/lronetto-bom-vizinho.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
|
|
# bom-vizinho: compose E .env vivem em infra/.
|
|
DC_BOMVIZINHO := docker compose -f $(BOMVIZINHO_DIR)/infra/docker-compose.yml --env-file $(BOMVIZINHO_DIR)/infra/.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)) | bomvizinho ($(BOMVIZINHO_DIR))"
|
|
@echo " claudeweb ($(CLAUDEWEB_DIR))"
|
|
@echo ""
|
|
@echo " make up Sobe tudo (main -> gitea -> wedding -> finance -> bomvizinho -> 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-bomvizinho Build + up do app bom-vizinho"
|
|
@echo " make up-claudeweb Build (incl. worker-image) + up do claudeweb"
|
|
@echo " make rebuild-{wedding,finance,bomvizinho,claudeweb}"
|
|
@echo " make down-{main,gitea,wedding,finance,bomvizinho,claudeweb}"
|
|
@echo " make logs-{main,gitea,wedding,finance,bomvizinho,claudeweb}"
|
|
@echo " make pull-{main,gitea,wedding,finance,bomvizinho,claudeweb}"
|
|
@echo " make clone-claudeweb Clona $(CLAUDEWEB_REPO)"
|
|
@echo " make clone-bomvizinho Clona $(BOMVIZINHO_REPO)"
|
|
@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-bomvizinho up-claudeweb
|
|
|
|
down: down-claudeweb down-bomvizinho 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_BOMVIZINHO) 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
|
|
|
|
up-bomvizinho: network
|
|
$(DC_BOMVIZINHO) 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-bomvizinho: network
|
|
$(DC_BOMVIZINHO) build --no-cache
|
|
$(DC_BOMVIZINHO) 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-bomvizinho:
|
|
$(DC_BOMVIZINHO) 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-bomvizinho:
|
|
$(DC_BOMVIZINHO) 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-bomvizinho:
|
|
$(DC_BOMVIZINHO) pull
|
|
|
|
pull-claudeweb:
|
|
$(DC_CLAUDEWEB) pull
|
|
|
|
clone-claudeweb:
|
|
@test -d $(CLAUDEWEB_DIR)/.git \
|
|
&& echo "$(CLAUDEWEB_DIR) já existe" \
|
|
|| git clone $(CLAUDEWEB_REPO) $(CLAUDEWEB_DIR)
|
|
|
|
clone-bomvizinho:
|
|
@test -d $(BOMVIZINHO_DIR)/.git \
|
|
&& echo "$(BOMVIZINHO_DIR) já existe" \
|
|
|| git clone $(BOMVIZINHO_REPO) $(BOMVIZINHO_DIR)
|