chore: add Makefile for proxy/app lifecycle commands
This commit is contained in:
42
Makefile
Normal file
42
Makefile
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
SHELL := /bin/bash
|
||||||
|
|
||||||
|
# Environment selection
|
||||||
|
ENV ?= development
|
||||||
|
COMMON_ENV := infra/env/$(ENV)/common.env
|
||||||
|
|
||||||
|
# Helper to pass env files if present
|
||||||
|
define with_env
|
||||||
|
$(foreach f,$(1),$(if $(wildcard $(f)),--env-file $(f),))
|
||||||
|
endef
|
||||||
|
|
||||||
|
.PHONY: bootstrap proxy-up proxy-down proxy-logs app-up app-down app-logs ps
|
||||||
|
|
||||||
|
bootstrap:
|
||||||
|
@bash scripts/infra/bootstrap.sh
|
||||||
|
|
||||||
|
proxy-up:
|
||||||
|
@docker compose -f infra/core/traefik/docker-compose.yml $(call with_env,$(COMMON_ENV) infra/apps/traefik/.env) up -d
|
||||||
|
|
||||||
|
proxy-down:
|
||||||
|
@docker compose -f infra/core/traefik/docker-compose.yml $(call with_env,$(COMMON_ENV) infra/apps/traefik/.env) down
|
||||||
|
|
||||||
|
proxy-logs:
|
||||||
|
@docker compose -f infra/core/traefik/docker-compose.yml $(call with_env,$(COMMON_ENV) infra/apps/traefik/.env) logs -f
|
||||||
|
|
||||||
|
# Usage: make app-up APP=nextcloud
|
||||||
|
APP ?=
|
||||||
|
app-up:
|
||||||
|
@test -n "$(APP)" || (echo "APP not set. Example: make app-up APP=nextcloud" && exit 1)
|
||||||
|
@docker compose -f infra/apps/$(APP)/docker-compose.yml $(call with_env,$(COMMON_ENV) infra/apps/$(APP)/.env) up -d
|
||||||
|
|
||||||
|
app-down:
|
||||||
|
@test -n "$(APP)" || (echo "APP not set. Example: make app-down APP=nextcloud" && exit 1)
|
||||||
|
@docker compose -f infra/apps/$(APP)/docker-compose.yml $(call with_env,$(COMMON_ENV) infra/apps/$(APP)/.env) down
|
||||||
|
|
||||||
|
app-logs:
|
||||||
|
@test -n "$(APP)" || (echo "APP not set. Example: make app-logs APP=nextcloud" && exit 1)
|
||||||
|
@docker compose -f infra/apps/$(APP)/docker-compose.yml $(call with_env,$(COMMON_ENV) infra/apps/$(APP)/.env) logs -f
|
||||||
|
|
||||||
|
ps:
|
||||||
|
@docker ps --format 'table {{.Names}}\t{{.Image}}\t{{.Status}}\t{{.Networks}}'
|
||||||
|
|
||||||
Reference in New Issue
Block a user