timothykim
f093a66580
fix e2e tests for garage v2 and uptimerobot v3 api changes
2026-04-10 16:25:54 -04:00
timothykim
449b763621
add goatcounter tracking to all sites via nginx sub_filter
Deploy nginx / deploy (push) Successful in 4s
2026-04-09 16:54:35 -04:00
timothykim
54d6c03bd1
add nginx and cert subcommands to service.sh
2026-04-07 20:59:58 -04:00
timothykim
111969fa9c
e2e test
2026-03-27 16:19:21 -04:00
timothykim
c87f76a78a
rename new-service.sh to service.sh with subcommands
2026-03-27 12:28:32 -04:00
timothykim
43fc8c2e7b
remove new-app.sh, update docs to reference app.sh directly
2026-03-20 20:14:16 -04:00
timothykim
3b41653c04
refactor new-app into app.sh with subcommands
2026-03-20 14:43:47 -04:00
timothykim
eecdf7b002
restructure docs: eliminate duplication across md files
2026-03-20 11:42:06 -04:00
timothykim
be1ad6b456
audit fixes: error handling, docs consistency, bucket idempotency
Provision server / provision (push) Successful in 12s
2026-03-20 11:28:36 -04:00
timothykim
037b78734f
move dev scripts to tools/, migrate to bws, use example.com in docs
...
Provision server / provision (push) Successful in 7s
- Move new-app.sh, new-service.sh, remove-app.sh from scripts/ to tools/
- Migrate new-app.sh and remove-app.sh from bw to bws
- Replace real domains with example.com in documentation and help text
2026-03-19 11:10:14 -04:00
timothykim
ef7fe7677c
migrate bootstrap.sh from bw to bws, update docs
2026-03-18 19:04:22 -04:00
timothykim
00ab7d1b8d
auto-issue certs on nginx deploy, document one-domain-per-conf convention
2026-03-18 15:18:11 -04:00
timothykim
919c5353bc
split setup.sh into bootstrap.sh and configure.sh
...
Provision server / provision (push) Failing after 2s
bootstrap.sh handles first-time setup (manual, Bitwarden).
configure.sh handles idempotent config (CI-safe).
Add provision workflow, deploy-garage workflow, new-service.sh.
Remove git-crypt references and empty .gitattributes.
2026-03-18 14:51:19 -04:00
timothykim
9a950524eb
add cert command to deploy.sh, use deploy user for cert issuance
...
- deploy.sh: add cert-<domain> command for zero-downtime SSL issuance
- new-app.sh: SSH as deploy user with key from Bitwarden instead of personal user
- remove DEPLOY_USER/DEPLOY_HOST env var requirements
- update all docs to reflect new flow
2026-03-16 02:05:18 -04:00
timothykim
b51fe596c6
automate new-app.sh: DNS, cert, commit, build, verify
...
- resolve server IP from hantim.net instead of env var
- create Vultr DNS zone and A records via API
- wait for DNS propagation before cert issuance
- issue SSL cert via webroot (zero downtime)
- auto commit and push hantim-server
- trigger initial app build via Gitea API
- verify site is live with curl check
- update all docs to reflect single-command flow
2026-03-16 01:57:10 -04:00
timothykim
5c38b0631a
replace NPM with vanilla nginx + certbot
...
Deploy nginx / deploy (push) Failing after 3s
Deploy timothykim.net / deploy (push) Successful in 3s
- nginx:alpine replaces nginx-proxy-manager
- certbot on host with standalone issuance and auto-renewal
- per-site nginx configs in conf.d/ (HTTP->HTTPS, bare->www)
- container names use underscores (timothykim_net)
- setup.sh: automated cert issuance, dynamic app startup
- deploy.sh: nginx -t guard, graceful image-not-found
- new-app.sh: Gitea API repo creation, nginx conf generation
- add ARCHITECTURE.md, USECASES.md, CLAUDE.md
- remove old NPM data/certs from tracking
2026-03-16 00:55:13 -04:00