Commit Graph
100 Commits
Author SHA1 Message Date
timothykim 900900a95b remove duplicate sub_filter_types text/html
Deploy nginx / deploy (push) Successful in 3s
2026-04-09 17:48:16 -04:00
timothykim 0869be8814 gitignore beszel_agent_data
Deploy beszel / deploy (push) Successful in 3s
2026-04-09 17:46:28 -04:00
timothykim ba04116fb2 add carolpreschool.com
Deploy nginx / deploy (push) Failing after 2s
Deploy carolpreschool.com / deploy (push) Successful in 3s
2026-04-09 17:40:51 -04:00
timothykim ff828ecc44 add domain prefix to goatcounter paths
Deploy nginx / deploy (push) Successful in 3s
2026-04-09 17:35:00 -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 553b77788d Merge branch 'goatcounter'
Deploy goatcounter / deploy (push) Successful in 3s
2026-04-09 16:40:16 -04:00
timothykim f5f08c48ac adds secret 2026-04-09 16:40:11 -04:00
timothykim cf92394e3f update to garage sync 2026-04-09 16:04:35 -04:00
timothykim a8a3acff84 goat counter 2026-04-09 14:26:17 -04:00
timothykim ee0c58ad28 adds goatcounter
Deploy goatcounter / deploy (push) Successful in 8s
Deploy nginx / deploy (push) Failing after 1s
2026-04-08 20:23:22 -04:00
timothykim 4b32e358a1 add beszel agent with socket connection and env.keys
Deploy beszel / deploy (push) Successful in 3s
2026-04-08 18:43:50 -04:00
timothykim 79996d02a4 update beszel configuration
Deploy beszel / deploy (push) Successful in 5s
Deploy nginx / deploy (push) Successful in 3s
2026-04-07 21:07:56 -04:00
timothykim 54d6c03bd1 add nginx and cert subcommands to service.sh 2026-04-07 20:59:58 -04:00
timothykim 0656d245d5 remove test workflow
Deploy nginx / deploy (push) Successful in 6s
2026-04-07 20:33:12 -04:00
timothykim d2b9d0bce9 fix idempotency in app.sh, service.sh and nginx reload in cert handler 2026-04-07 15:56:59 -04:00
timothykim fcc720ee7b fix cert handler deleting nginx conf file 2026-03-28 17:48:09 -04:00
timothykim 123af3a269 remove ssl stapling
Deploy nginx / deploy (push) Successful in 4s
Deploy nginx / test (push) Failing after 7s
2026-03-28 17:15:12 -04:00
timothykim cf26235d70 add hcsuzuki.music
Deploy hcsuzuki.music / deploy (push) Successful in 28s
Deploy nginx / deploy (push) Failing after 4s
Deploy nginx / test (push) Has been skipped
2026-03-28 13:37:49 -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 313fb4655f updated workflow
Deploy beszel / deploy (push) Successful in 4s
2026-03-26 20:02:09 -04:00
timothykim 81151f90aa update the deploy and new service 2026-03-26 20:01:06 -04:00
timothykim 78773110fc update beszel compose 2026-03-26 23:49:41 +00:00
timothykim 8762339713 add beszel 2026-03-26 19:45:19 -04:00
timothykim 697de3e199 add uptimerobot monitor subcommand to app.sh 2026-03-26 13:13:41 -04:00
timothykim 43fc8c2e7b remove new-app.sh, update docs to reference app.sh directly 2026-03-20 20:14:16 -04:00
timothykim 787e747fa4 fix deploy re-exec not forwarding command argument 2026-03-20 20:10:32 -04:00
timothykim 7b1a888db0 add workflow_dispatch and self-trigger paths to all workflows
Deploy haanmind.net / deploy (push) Failing after 1s
Deploy hantim.net / deploy (push) Failing after 1s
Deploy hcsuzuki.net / deploy (push) Failing after 1s
Deploy nginx / deploy (push) Failing after 1s
Deploy nginx / test (push) Has been skipped
Deploy thekims.family / deploy (push) Failing after 1s
Deploy timothykim.net / deploy (push) Failing after 1s
Provision server / provision (push) Successful in 11s
Deploy garage / deploy (push) Successful in 5s
2026-03-20 20:03:11 -04:00
timothykim a37872489c add certbot email, pin git pull to origin main 2026-03-20 19:57:45 -04:00
timothykim de1d60b1db remove standalone certbot fallback, fail on missing certs 2026-03-20 19:50:44 -04:00
timothykim c8c79a542a re-exec deploy.sh after git pull to pick up changes
Deploy nginx / deploy (push) Successful in 3s
Deploy nginx / test (push) Successful in 7s
2026-03-20 17:01:36 -04:00
timothykim b2bb8fa5eb clarify default server block comment
Deploy nginx / deploy (push) Successful in 4s
Deploy nginx / test (push) Successful in 8s
2026-03-20 16:57:08 -04:00
timothykim 729eadee33 use *.*.conf glob to match only domain conf files for cert issuance 2026-03-20 16:55:52 -04:00
timothykim 4b39eaaf06 skip default server block in cert issuance, remove ssh debug lines 2026-03-20 16:53:47 -04:00
timothykim 085b0bdd1b clean up trailing newline in nginx.conf
Deploy nginx / deploy (push) Failing after 4s
Deploy nginx / test (push) Has been skipped
2026-03-20 16:51:09 -04:00
timothykim 020e7b2950 retrigger nginx deploy for host key test
Deploy nginx / deploy (push) Failing after 5s
Deploy nginx / test (push) Has been skipped
2026-03-20 16:43:54 -04:00
timothykim 9a9df25742 retrigger nginx deploy for host key debug
Deploy nginx / deploy (push) Failing after 0s
Deploy nginx / test (push) Has been skipped
2026-03-20 16:41:27 -04:00
timothykim 6e2ec87ccf debug host key pinning in nginx workflow 2026-03-20 16:40:37 -04:00
timothykim 77e08f34cf retrigger nginx deploy for host key test
Deploy nginx / deploy (push) Failing after 0s
Deploy nginx / test (push) Has been skipped
2026-03-20 16:38:40 -04:00
timothykim 061213bf7e retrigger nginx deploy for host key test
Deploy nginx / deploy (push) Failing after 0s
Deploy nginx / test (push) Has been skipped
2026-03-20 16:35:34 -04:00
timothykim 03e45dc6f2 trigger nginx deploy to test host key pinning
Deploy nginx / deploy (push) Failing after 0s
Deploy nginx / test (push) Has been skipped
2026-03-20 16:33:15 -04:00
timothykim 16ea39811d document deploy host key variable in readme 2026-03-20 16:31:54 -04:00
timothykim 7daf7a267b pin ssh host key in all workflows 2026-03-20 16:31:03 -04:00
timothykim 5abfca19b3 restrict envsubst to expected variables only
Deploy garage / deploy (push) Failing after 2s
2026-03-20 16:25:23 -04:00
timothykim 9e3996a72b remove security.md from repo, add to gitignore 2026-03-20 16:17:23 -04:00
timothykim 163aefddee add default server block to drop unknown host headers 2026-03-20 16:12:06 -04:00
timothykim 3a1ef3a167 fix tls tests to load system ca certificates 2026-03-20 16:07:32 -04:00
timothykim cce9b5c4c4 add ssl/tls hardening to nginx 2026-03-20 16:05:41 -04:00
timothykim 2bcf67dcc4 fetch secrets by uuid instead of listing all 2026-03-20 15:51:43 -04:00
timothykim b19e194c0b remove deploy user from docker group 2026-03-20 15:38:11 -04:00
timothykim 1a7f823a87 restrict garage admin api to home ip 2026-03-20 15:33:36 -04:00
timothykim 0ca8394f8a add testing section to readme 2026-03-20 15:22:58 -04:00
timothykim e767ab3235 test -> tests 2026-03-20 15:20:29 -04:00
timothykim 50ab425e8f fix test directory path in deploy-nginx workflow 2026-03-20 15:19:41 -04:00
timothykim b7439b23e3 fix nginx security headers not being applied to https responses
nginx add_header inheritance meant X-Content-Type-Options and X-Frame-Options
were silently dropped from all https server blocks. moved all security headers
into a shared snippet (security-headers.inc) included per server block. added
pytest-based header verification that auto-discovers sites from conf files.
2026-03-20 15:11:56 -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 6b1e78350f document media hosting in readme and usecases 2026-03-19 22:34:47 -04:00
timothykim 4516ed7bab add media setup instructions to new-app.sh output 2026-03-19 22:31:02 -04:00
timothykim f9788ff178 fix s3 proxy: forward host header for signature validation
Deploy nginx / deploy (push) Successful in 3s
2026-03-19 21:55:37 -04:00
timothykim da99d102e9 add s3.hantim.net proxy, fix dns ttl to 3600
Deploy nginx / deploy (push) Successful in 13s
2026-03-19 18:23:39 -04:00
timothykim a421ecc837 add garage admin api with token, expose via garage.hantim.net
Deploy garage / deploy (push) Successful in 5s
Deploy nginx / deploy (push) Successful in 13s
2026-03-19 17:19:03 -04:00
timothykim a64f81f503 upgrade garage to v2.2.0, add /media/ proxy to nginx
Deploy garage / deploy (push) Successful in 7s
Deploy nginx / deploy (push) Successful in 3s
2026-03-19 16:45:22 -04:00
timothykim df179546ae update docs, fix deploy to not restart unchanged services
- deploy.sh: use compose up instead of down+up, fetch secrets individually
- configure.sh: delegate all service deployment to deploy.sh
- docs: add garage cluster init, .env.keys mechanism, update configure.sh description
- remove 2>/dev/null from bws calls
2026-03-19 12:39:55 -04:00
timothykim 76d01c66d6 fix deploy: use compose up instead of down+up, fetch secrets individually
Provision server / provision (push) Successful in 11s
- docker compose up -d --remove-orphans instead of down then up
- configure.sh delegates all service deployment to deploy.sh
- deploy.sh generates .env from bws before starting services
- remove 2>/dev/null from bws calls so errors are visible
2026-03-19 12:28:49 -04:00
timothykim 82582028a2 fix garage dockerfile: use alpine base with envsubst
Deploy garage / deploy (push) Failing after 7s
2026-03-19 12:14:38 -04:00
timothykim 3478e05c49 add garage service with env-based secret injection
Deploy garage / deploy (push) Failing after 6s
2026-03-19 12:13:07 -04:00
timothykim 3a8fb09bcf add .env generation from bws, handle build services in deploy
Provision server / provision (push) Successful in 6s
- configure.sh generates .env files from .env.keys + bws
- deploy.sh detects build: services and runs docker compose build
- new-service.sh prints .env.keys instructions
- clean up .gitignore
2026-03-19 12:11:46 -04:00
timothykim 7e35042b71 add haanmind.net
Deploy haanmind.net / deploy (push) Successful in 2s
Deploy nginx / deploy (push) Successful in 3s
2026-03-19 11:23:53 -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 5a8d9a8aa0 install bws to /usr/bin instead of /usr/local/bin 2026-03-18 19:15:44 -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 46b27e0780 reverse thekims.family redirect: www -> bare domain
Deploy nginx / deploy (push) Successful in 4s
2026-03-18 15:08:51 -04:00
timothykim 63d1d92333 add hcsuzukiviolin.com redirect to hcsuzuki.net
Deploy nginx / deploy (push) Failing after 3s
2026-03-18 15:01:41 -04:00
timothykim 199ed98e7d make new scripts executable
Provision server / provision (push) Successful in 7s
2026-03-18 14:53:46 -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 3b4ff1f291 fix dns record creation in new-app.sh 2026-03-16 22:38:57 -04:00
timothykim 0ffca0335f add hcsuzuki.net
Deploy hcsuzuki.net / deploy (push) Successful in 2s
Deploy nginx / deploy (push) Successful in 4s
2026-03-16 22:26:45 -04:00
timothykim 1a31381bfb update gitignore 2026-03-16 22:08:51 -04:00
timothykim a45813db35 cache secrets to file, fix spinner animation 2026-03-16 22:06:47 -04:00
timothykim 423de9c9e8 add thekims.family
Deploy nginx / deploy (push) Successful in 3s
Deploy thekims.family / deploy (push) Successful in 3s
2026-03-16 22:05:46 -04:00
timothykim 164087f82a remove thekims.family
Deploy nginx / deploy (push) Successful in 3s
2026-03-16 22:04:48 -04:00
timothykim 0702059044 add thekims.family
Deploy nginx / deploy (push) Failing after 2s
Deploy thekims.family / deploy (push) Successful in 2s
2026-03-16 22:00:16 -04:00
timothykim 43b0730b7b remove thekims.family
Deploy nginx / deploy (push) Successful in 3s
2026-03-16 21:59:41 -04:00
timothykim 98aa8e7727 use workflow dispatch api instead of deploy-trigger file 2026-03-16 21:54:19 -04:00
timothykim 126061bbcb add thekims.family
Deploy nginx / deploy (push) Failing after 3s
Deploy thekims.family / deploy (push) Successful in 2s
2026-03-16 21:47:22 -04:00
timothykim 34cba34856 remove thekims.family
Deploy nginx / deploy (push) Successful in 4s
2026-03-16 21:46:30 -04:00
timothykim 0493910966 deploy: clean up old containers before starting new ones 2026-03-16 21:43:01 -04:00
timothykim e6cbc53065 update timothykim.net image to match new naming convention
Deploy timothykim.net / deploy (push) Failing after 2s
2026-03-16 21:40:05 -04:00
timothykim 0bbe1d48e2 add thekims.family
Deploy nginx / deploy (push) Failing after 3s
Deploy thekims.family / deploy (push) Successful in 2s
2026-03-16 21:23:39 -04:00
timothykim 99a4a4b3ea cache bitwarden secrets in env vars to skip unlock on repeated runs 2026-03-16 21:22:53 -04:00
timothykim 9d999c319d add hantim.net
Deploy hantim.net / deploy (push) Successful in 2s
Deploy nginx / deploy (push) Successful in 3s
2026-03-16 21:10:02 -04:00
timothykim b32a7ae5b6 remove hantim.net
Deploy nginx / deploy (push) Successful in 3s
2026-03-16 21:08:06 -04:00
timothykim 7df77db7b3 fix new-app: retry build trigger, clean up temp nginx conf, add remove-app script 2026-03-16 21:07:34 -04:00
timothykim e86b7bc58f add hantim.net
Deploy hantim.net / deploy (push) Failing after 1s
Deploy nginx / deploy (push) Failing after 1s
2026-03-16 18:16:37 -04:00
timothykim f4771cccf6 remove hantim.net
Deploy nginx / deploy (push) Successful in 3s
2026-03-16 18:16:01 -04:00
timothykim d12ee0271e add hantim.net
Deploy hantim.net / deploy (push) Failing after 1s
Deploy nginx / deploy (push) Failing after 1s
2026-03-16 18:13:27 -04:00
timothykim fad1b3ab59 remove hantim.net
Deploy nginx / deploy (push) Successful in 2s
2026-03-16 18:12:29 -04:00