Codex_B
10e39b8331
feat: add health monitoring endpoint
CI / nightly-e2e (pull_request) Has been skipped
CI / deploy (pull_request) Has been skipped
CI / pr-e2e (pull_request) Successful in 1m38s
CI / ci (pull_request) Successful in 1m46s
2026-03-06 15:46:08 +00:00
codex_a
4ea1e66cdf
fix(preview): align frame policy and canonical host for Wagtail preview
CI / nightly-e2e (pull_request) Has been skipped
CI / deploy (pull_request) Has been skipped
CI / ci (pull_request) Successful in 1m32s
CI / pr-e2e (pull_request) Successful in 1m34s
2026-03-04 20:51:23 +00:00
Mark
906206d4cd
feat: implement article search with PostgreSQL full-text search
...
CI / nightly-e2e (pull_request) Has been skipped
CI / deploy (pull_request) Has been skipped
CI / ci (pull_request) Failing after 1m21s
CI / pr-e2e (pull_request) Successful in 1m33s
- Configure Wagtail database search backend with English search config
- Add django.contrib.postgres to INSTALLED_APPS for full PG FTS support
- Expand ArticlePage.search_fields: body_text (excl. code blocks),
AutocompleteField(title), RelatedFields(tags), FilterFields
- Add search view at /search/?q= with query guards (strip, max 200 chars,
empty/whitespace handling) and pagination preserving query param
- Replace nav Subscribe CTA with compact search box (desktop + mobile)
- Add search box to article index page alongside category/tag filters
- Create search results template reusing article_card component
- Add update_index to deploy entrypoint for automated reindexing
- Update existing tests for nav change, add comprehensive search tests
Closes #41
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-03 21:25:11 +00:00
codex_a
229c0f8b48
fix: cd to site dir before docker compose commands
...
CI / nightly-e2e (pull_request) Has been skipped
CI / deploy (pull_request) Has been skipped
CI / pr-e2e (pull_request) Successful in 1m7s
CI / ci (pull_request) Successful in 1m15s
docker compose stats the cwd when parsing compose files; if cwd is
not accessible to the deploy user the command fails.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-01 09:38:54 +00:00
codex_a
ec3e1ee1bf
fix: remove sudo from deploy script, use docker compose directly
...
CI / nightly-e2e (pull_request) Has been skipped
CI / deploy (pull_request) Has been skipped
CI / pr-e2e (pull_request) Failing after 42s
CI / ci (pull_request) Successful in 1m1s
deploy user has no sudo for systemctl. Instead:
- Use 'docker compose up -d --force-recreate' to recreate the web
container without needing systemctl
- Change Restart=always so systemd re-attaches after the container
is recreated
- Replace 'sudo journalctl' with 'docker compose logs' in error path
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-28 22:15:02 +00:00
codex_a
c9dab3e93b
fix: use correct Host header in deploy health check
...
CI / nightly-e2e (pull_request) Has been skipped
CI / deploy (pull_request) Has been skipped
CI / pr-e2e (pull_request) Failing after 44s
CI / ci (pull_request) Successful in 1m2s
ALLOWED_HOSTS doesn't include localhost, so curl with default Host
header always gets a 400 and the health check fails.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-28 21:55:58 +00:00
codex_a
349f1db721
fix: auto-set Wagtail site hostname from ALLOWED_HOSTS on startup
...
CI / nightly-e2e (pull_request) Has been skipped
CI / deploy (pull_request) Has been skipped
CI / pr-e2e (pull_request) Successful in 1m4s
CI / ci (pull_request) Successful in 1m15s
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-28 21:54:27 +00:00
codex_a
833ff378ea
fix: use entrypoint script for prod container startup
...
CI / nightly-e2e (pull_request) Has been skipped
CI / deploy (pull_request) Has been skipped
CI / pr-e2e (pull_request) Successful in 1m4s
CI / ci (pull_request) Successful in 1m15s
YAML folded block scalar (>) was preserving newlines for more-indented
continuation lines, so gunicorn received no arguments and defaulted to
binding on 127.0.0.1:8000. Replace with an explicit entrypoint script
so all args are passed correctly.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-28 21:47:02 +00:00
codex_a
0cbac68ec1
feat: add production deploy pipeline and fix dev CSS
...
CI / nightly-e2e (pull_request) Has been skipped
CI / deploy (pull_request) Has been skipped
CI / pr-e2e (pull_request) Successful in 1m4s
CI / ci (pull_request) Successful in 1m23s
Dev:
- Add tailwind install + build to docker-compose startup so CSS is built
inside the container — not dependent on local filesystem
Production (docker-compose.prod.yml):
- Gunicorn on 127.0.0.1:8001, bind-mounted static/media to host paths
so Caddy can serve them directly
- Runs migrate, tailwind build, collectstatic on startup
Settings (production.py):
- Disable SECURE_SSL_REDIRECT (Caddy handles redirects; Django would loop)
- Add CSRF_TRUSTED_ORIGINS for nohypeai.net
CI (.gitea/workflows/ci.yml):
- Add push-to-main trigger
- Add deploy job: SSHes to lintel-prod-01 as deploy, runs deploy/deploy.sh
Server config (deploy/):
- deploy/caddy/nohype.caddy — Caddy site config for nohypeai.net
- deploy/sum-nohype.service — systemd unit for the compose stack
- deploy/deploy.sh — deploy script (pull, build, restart)
One-time manual steps required on lintel-prod-01 (need root):
sudo cp deploy/sum-nohype.service /etc/systemd/system/
sudo cp deploy/caddy/nohype.caddy /etc/caddy/sites-enabled/
sudo systemctl daemon-reload && sudo systemctl enable sum-nohype
sudo systemctl reload caddy
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-28 21:34:13 +00:00