151 lines
4.7 KiB
Makefile
151 lines
4.7 KiB
Makefile
.PHONY: help network 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 backup-vps
|
|
|
|
# Orquestrador do "core" das stacks do casamento (main + gitea + wedding, os 3
|
|
# repos que este CLAUDE.md documenta em detalhe). `lronetto-main` é o
|
|
# "platform layer" (postgres + redis + minio + pgadmin + caddy) e também serve
|
|
# de infra base pra OUTROS consumidores não relacionados ao casamento
|
|
# (lronetto-finance, lronetto-claudeweb) — ver seção 2 do CLAUDE.md.
|
|
#
|
|
# `make up`/`down`/`restart`/`status` cobrem só o core (main+gitea+wedding),
|
|
# de propósito: finance/claudeweb têm ciclo de vida e deploy CI próprios,
|
|
# independentes deste projeto. Os targets up-finance/up-claudeweb existem só
|
|
# de conveniência operacional (ex.: subir tudo depois de um reboot do VPS).
|
|
#
|
|
# Todos os repos são clonados como diretórios IRMÃOS e referenciados aqui.
|
|
# Ajuste os caminhos abaixo se usar outro layout no disco.
|
|
|
|
NET := infra-net
|
|
WEDDING_DIR ?= ../lronetto-wedding
|
|
GITEA_DIR ?= ../lronetto-gitea
|
|
FINANCE_DIR ?= ../lronetto-finance
|
|
CLAUDEWEB_DIR ?= ../lronetto-claudeweb
|
|
|
|
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
|
|
DC_CLAUDEWEB := docker compose -f $(CLAUDEWEB_DIR)/deploy/compose.yml --env-file $(CLAUDEWEB_DIR)/.env
|
|
CLAUDEWEB_WORKER_IMAGE ?= claudeweb-worker
|
|
|
|
help:
|
|
@echo "Core (orquestrado por make up/down/restart/status):"
|
|
@echo " main (este repo) | gitea ($(GITEA_DIR)) | wedding ($(WEDDING_DIR))"
|
|
@echo ""
|
|
@echo "Outros consumidores da infra base (targets avulsos, ciclo de vida próprio):"
|
|
@echo " finance ($(FINANCE_DIR)) | claudeweb ($(CLAUDEWEB_DIR))"
|
|
@echo ""
|
|
@echo " make up Sobe o core na ordem (main -> gitea -> wedding)"
|
|
@echo " make down Desce o core na ordem inversa"
|
|
@echo " make restart down + up"
|
|
@echo " make status ps do core + finance/claudeweb (se de pé)"
|
|
@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 da imagem do worker + up do claudeweb (api+web)"
|
|
@echo " make rebuild-{wedding,finance,claudeweb} Force rebuild"
|
|
@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 network Cria a network external '$(NET)' (idempotente)"
|
|
@echo " make backup-vps Backup completo do host (postgres+redis+gitea+envs+caddy certs)"
|
|
|
|
network:
|
|
@./network.sh
|
|
|
|
up: network up-main up-gitea up-wedding
|
|
|
|
down: 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
|
|
|
|
up-claudeweb: network
|
|
docker build -t $(CLAUDEWEB_WORKER_IMAGE) -f $(CLAUDEWEB_DIR)/worker/Dockerfile $(CLAUDEWEB_DIR)
|
|
$(DC_CLAUDEWEB) up -d --build
|
|
|
|
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
|
|
docker build -t $(CLAUDEWEB_WORKER_IMAGE) -f $(CLAUDEWEB_DIR)/worker/Dockerfile $(CLAUDEWEB_DIR)
|
|
$(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
|
|
|
|
backup-vps:
|
|
@GITEA_DIR=$(GITEA_DIR) WEDDING_DIR=$(WEDDING_DIR) FINANCE_DIR=$(FINANCE_DIR) CLAUDEWEB_DIR=$(CLAUDEWEB_DIR) ./scripts/vps-backup.sh
|