- Add self-hosted GoatCounter via systemd binary service (stats.monotrope.au) - Add Miniflux RSS reader via Docker Compose (reader.monotrope.au) - Extend Ansible playbook with goatcounter and miniflux tags; all provisioning is idempotent - Add Caddy reverse proxy blocks for both new services - Inject GoatCounter script in baseof.html (production builds only) - Add goatcounter and miniflux Makefile targets - Rewrite CLAUDE.md to reflect actual project state Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
35 lines
1.0 KiB
Makefile
35 lines
1.0 KiB
Makefile
.PHONY: build serve deploy ssh setup miniflux goatcounter
|
|
|
|
# Load .env if it exists
|
|
-include .env
|
|
export
|
|
|
|
DEPLOY_USER := deploy
|
|
MONOTROPE_HOST ?=
|
|
|
|
build:
|
|
cd site && hugo --minify
|
|
|
|
serve:
|
|
cd site && hugo server --buildDrafts --disableFastRender
|
|
|
|
deploy:
|
|
@test -n "$(MONOTROPE_HOST)" || (echo "Error: MONOTROPE_HOST is not set"; exit 1)
|
|
bash deploy.sh
|
|
|
|
ssh:
|
|
@test -n "$(MONOTROPE_HOST)" || (echo "Error: MONOTROPE_HOST is not set"; exit 1)
|
|
ssh $(DEPLOY_USER)@$(MONOTROPE_HOST)
|
|
|
|
setup:
|
|
@test -n "$(MONOTROPE_HOST)" || (echo "Error: MONOTROPE_HOST is not set"; exit 1)
|
|
ansible-playbook -i "$(MONOTROPE_HOST)," -u root infra/ansible/playbook.yml
|
|
|
|
miniflux:
|
|
@test -n "$(MONOTROPE_HOST)" || (echo "Error: MONOTROPE_HOST is not set"; exit 1)
|
|
ansible-playbook -i "$(MONOTROPE_HOST)," -u root infra/ansible/playbook.yml --tags miniflux
|
|
|
|
goatcounter:
|
|
@test -n "$(MONOTROPE_HOST)" || (echo "Error: MONOTROPE_HOST is not set"; exit 1)
|
|
ansible-playbook -i "$(MONOTROPE_HOST)," -u root infra/ansible/playbook.yml --tags goatcounter
|