You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update CLAUDE.md with deployment details and project status
Adds production infrastructure info (EC2, CI/CD, SSH, GHCR),
documents what's implemented vs not yet, key conventions learned
during development (CSRF handling, Inertia 303 redirects), and
local/production URLs.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CLAUDE.md
+73-8Lines changed: 73 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,13 +4,17 @@
4
4
5
5
A Django + Vue 3 web application replacing the Hugo static site for devopsdays.org. City organizers manage their event pages through a browser-based UI instead of git/YAML/PRs.
6
6
7
+
**Live POC:**https://beta.devopsdays.org
8
+
**Full PRD:** See `PRD.md` in this repo for the complete spec.
The seed script reads real event data from the Hugo repo at `../devopsdays-web`.
48
+
49
+
## Deployment
50
+
51
+
**CI/CD:** Push to `main` triggers GitHub Actions which builds the Docker image, pushes to GHCR (`ghcr.io/devopsdays/devopsdays-web-app`), then SSHs to the EC2 instance to pull and restart.
- App lives at `/opt/devopsdays-web-app/` on the server
58
+
- SSL via Let's Encrypt (certbot), DNS on Cloudflare (grey-clouded for direct access)
59
+
60
+
**Production compose:**`docker-compose.prod.yml` (on the server, NOT the dev compose)
61
+
- Pulls image from GHCR (no source code on server)
62
+
- Runs collectstatic + migrate at startup
63
+
- Nginx reverse proxy with SSL termination
64
+
- Certbot for auto-renewal
65
+
66
+
**GitHub Actions secrets (on devopsdays/devopsdays-web-app):**
67
+
-`EC2_HOST` — the elastic IP
68
+
-`EC2_SSH_KEY` — contents of the SSH private key
69
+
70
+
**If you need to update docker-compose.prod.yml or nginx config on the server:**
71
+
The CI/CD only updates the Docker image, not the compose file or nginx configs. To update those, scp the files to the server manually. The deploy script (`deploy/deploy.sh -k ~/.ssh/devopsdays-web-app.pem ec2-user@3.227.45.155 beta.devopsdays.org`) handles first-time setup.
0 commit comments