diff --git a/Makefile b/Makefile index de6281e..9cd61d5 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,12 @@ +######################################################################################################################## +## service +######################################################################################################################## + .PHONY: all all: ps ; .PHONY: up -up: var/ _storage/ _share +up: ./var/postgres docker-compose up -d .PHONY: down @@ -15,12 +19,11 @@ reload: $(MAKE) up .PHONY: restart -restart: var/ _storage/ +restart: docker-compose restart .PHONY: build build: - docker pull node:20-alpine docker-compose build .PHONY: pull @@ -31,6 +34,10 @@ pull: log: docker-compose logs -f --tail 0 +.PHONY: log-all +log-all: + docker-compose logs --tail all + .PHONY: ps ps: docker-compose ps @@ -39,48 +46,59 @@ ps: top: docker-compose top -.PHONY: chown -chown: - sudo chown "$(shell id -g):$(shell id -u)" * -Rf +######################################################################################################################## +## db +######################################################################################################################## -.PHONY: backup -backup: - sudo bash _scripts/backup.sh $(shell id -g) $(shell id -u) var _storage +.PHONY: db-cli +db-cli: + # https://www.postgresql.jp/document/7.3/programmer/libpq-connect.html + docker-compose exec postgres psql 'user=pleroma password=mc4Bk3ycucTfRewcgqSU2n6sxAYuZsjw dbname=pleroma' -var/ _storage/ _share: - mkdir -p "$@" +.PHONY: db-dump +db-dump: + # https://www.postgresql.jp/document/7.3/programmer/libpq-connect.html + docker-compose exec postgres pg_dump 'user=pleroma password=mc4Bk3ycucTfRewcgqSU2n6sxAYuZsjw dbname=pleroma' > dump_$(shell date '+%Y%m%d').sql -# ----------------------------------------------------------------------------- -# DB -# ----------------------------------------------------------------------------- +.PHONY: db-restore +db-restore: + docker-compose exec -T postgres psql 'user=pleroma password=mc4Bk3ycucTfRewcgqSU2n6sxAYuZsjw dbname=pleroma' < dump_$(shell date '+%Y%m%d').sql -.PHONY: db-cli -db-cli: - bash db/cli +.PHONY: db-down +db-down: + docker-compose down postgres -.PHONY: migrate -db-migrate: - bash db/flyway migrate +.PHONY: db-down +db-up: + docker-compose up -d postgres -.PHONY: dump -db-dump: - bash db/dump +.PHONY: db-vacuum +db-vacuum: + echo "VACUUM ANALYZE;" | docker-compose exec -T postgres psql -U pleroma + +######################################################################################################################## +## backup +######################################################################################################################## + +.PHONY: backup +backup: + sudo bash _scripts/backup.sh $(shell id -g) $(shell id -u) "./var" "./web/pleroma/config/prod.secret.exs" + +######################################################################################################################## +## the-gear-of-seasons +######################################################################################################################## .PHONY: gear-cli gear-cli: docker-compose exec 'the-gear-of-seasons' bash -# ----------------------------------------------------------------------------- -# batch -# ----------------------------------------------------------------------------- - -.PHONY: gear-cli +.PHONY: gear-gc gear-gc: docker-compose run --rm \ 'the-gear-of-seasons' \ '/app/server/dist/cmd/gc.js' -.PHONY: gear-cli +.PHONY: gear-regenerate gear-regenerate: docker-compose run --rm \ 'the-gear-of-seasons' \ @@ -90,11 +108,11 @@ gear-regenerate: gear-heapdump: docker-compose kill -s SIGUSR1 'the-gear-of-seasons' -# ----------------------------------------------------------------------------- -# npm -# ----------------------------------------------------------------------------- - .PHONY: upgrade upgrade: cd client && npm run up cd server && npm run up + +# https://makefiletutorial.com/#automatic-variables +var/ _storage/ _share: + mkdir -p "$@"