49 lines
1.5 KiB
Makefile
49 lines
1.5 KiB
Makefile
# The Door — Makefile
|
|
# Crisis front door deployment commands
|
|
#
|
|
# Usage:
|
|
# make deploy # Full VPS provisioning via Ansible
|
|
# make deploy-bash # Run deploy.sh on VPS directly
|
|
# make check # Check deployment health
|
|
# make ssl # Setup SSL on VPS
|
|
# make push # Push site files only (fast update)
|
|
|
|
VPS := alexanderwhitestone.com
|
|
DOMAIN := alexanderwhitestone.com
|
|
DEPLOY_DIR := deploy
|
|
|
|
.PHONY: help deploy deploy-bash check ssl push service
|
|
|
|
help:
|
|
@echo "The Door — Deployment Commands"
|
|
@echo ""
|
|
@echo " make deploy Full VPS provisioning (Ansible)"
|
|
@echo " make deploy-bash Run deploy.sh on VPS (SSH)"
|
|
@echo " make push Push site files only (fast)"
|
|
@echo " make check Check deployment status"
|
|
@echo " make ssl Setup SSL on VPS"
|
|
@echo " make service Install/restart hermes-gateway service"
|
|
@echo ""
|
|
|
|
deploy:
|
|
cd $(DEPLOY_DIR) && ansible-playbook -i inventory.ini playbook.yml
|
|
|
|
deploy-bash:
|
|
scp -r ./* root@$(VPS):/opt/the-door/
|
|
ssh root@$(VPS) "cd /opt/the-door && bash deploy/deploy.sh"
|
|
|
|
push:
|
|
rsync -avz --exclude='.git' --exclude='deploy' \
|
|
index.html manifest.json sw.js about.html crisis-offline.html testimony.html system-prompt.txt \
|
|
root@$(VPS):/var/www/the-door/
|
|
ssh root@$(VPS) "chown -R www-data:www-data /var/www/the-door"
|
|
|
|
check:
|
|
ssh root@$(VPS) "bash /opt/the-door/deploy/deploy.sh --check"
|
|
|
|
ssl:
|
|
ssh root@$(VPS) "certbot --nginx -d $(DOMAIN) -d www.$(DOMAIN)"
|
|
|
|
service:
|
|
ssh root@$(VPS) "cd /opt/the-door && bash deploy/deploy.sh --service"
|