Update memory bank: correct server IP to 10.4.0.205 and add VPN workflow

This commit is contained in:
Eliza kragh 2026-03-05 12:37:57 -07:00
parent 7d079f9b37
commit efae0c098c

View file

@ -35,10 +35,11 @@
- **Remote**: Already configured in repository - **Remote**: Already configured in repository
### SSH Production Access (Chaulmark's Account) ### SSH Production Access (Chaulmark's Account)
- **Server**: 10.4.0.206 - **Server**: 10.4.0.205
- **SSH User**: `chaulmark` - **SSH User**: `chaulmark`
- **Project Path**: `/docker/websites/deafgain/` - **Project Path**: `/docker/websites/deafgain/`
- **Purpose**: Deploy Docker containers on production server - **Purpose**: Deploy Docker containers on production server
- **VPN Required**: Yes - Must connect via WireGuard VPN first (use `vpn-manager.command`)
### Production Environment ### Production Environment
- **URL**: https://deafgain.org/ - **URL**: https://deafgain.org/
@ -59,12 +60,13 @@
git commit -m "Descriptive message" git commit -m "Descriptive message"
git push git push
``` ```
6. **Deploy to Production** (SSH as chaulmark): 6. **Connect VPN**: User runs `vpn-manager.command` to connect to private network
7. **Deploy to Production** (SSH as chaulmark):
```bash ```bash
ssh chaulmark@10.4.0.206 "cd /docker/websites/deafgain/ && git pull && docker-compose up --build -d" ssh chaulmark@10.4.0.205 "cd /docker/websites/deafgain/ && git pull && docker-compose up --build -d"
``` ```
7. **Verify**: Check https://deafgain.org/ to confirm changes live 8. **Verify**: Check https://deafgain.org/ to confirm changes live
8. **Report**: Tell user "Done! Changes are live at deafgain.org" 9. **Report**: Tell user "Done! Changes are live at deafgain.org"
### Git Commands I Use (User Never Runs These) ### Git Commands I Use (User Never Runs These)
```bash ```bash
@ -84,8 +86,11 @@ git log --oneline -15
### Production Deployment (I Execute via SSH) ### Production Deployment (I Execute via SSH)
```bash ```bash
# FIRST: User must connect VPN using vpn-manager.command
# Then I can proceed with SSH deployment
# SSH into production server as chaulmark # SSH into production server as chaulmark
ssh chaulmark@10.4.0.206 ssh chaulmark@10.4.0.205
# Navigate to project # Navigate to project
cd /docker/websites/deafgain/ cd /docker/websites/deafgain/
@ -103,6 +108,21 @@ docker-compose logs -f
exit exit
``` ```
### VPN Connection (User Runs)
The production server is on a private network (10.4.0.0/24) requiring VPN access.
**Tool**: `vpn-manager.command` in project root
- Interactive menu-driven script
- Manages WireGuard VPN connection
- Tests connectivity to production server
**When I Need Deployment**:
1. I ask user: "Please connect VPN using vpn-manager.command"
2. User runs the script and selects "Connect to VPN"
3. Script confirms connection to 10.4.0.205
4. I proceed with SSH deployment
5. User can disconnect VPN when done (optional)
## Token Management (If Needed) ## Token Management (If Needed)
### When Token Expires: ### When Token Expires:
@ -215,9 +235,11 @@ git pull
4. I edit Services.tsx, add to relationshipPoints array 4. I edit Services.tsx, add to relationshipPoints array
5. I commit: "Add RID conference to Missoula MT on interactive map" 5. I commit: "Add RID conference to Missoula MT on interactive map"
6. I push: git push 6. I push: git push
7. I deploy: ssh chaulmark@10.4.0.206 "cd /docker/websites/deafgain/ && git pull && docker-compose up --build -d" 7. I ask: "Please connect VPN using vpn-manager.command"
8. I verify: Check https://deafgain.org/services 8. User connects VPN
9. I report: "Done! RID conference added to map at deafgain.org" 9. I deploy: ssh chaulmark@10.4.0.205 "cd /docker/websites/deafgain/ && git pull && docker-compose up --build -d"
10. I verify: Check https://deafgain.org/services
11. I report: "Done! RID conference added to map at deafgain.org"
``` ```
### Task: "Add New Video" ### Task: "Add New Video"
@ -234,9 +256,11 @@ git pull
6. I test locally: pnpm dev (verify video plays) 6. I test locally: pnpm dev (verify video plays)
7. I commit: "Add new video: [Title]" 7. I commit: "Add new video: [Title]"
8. I push: git push 8. I push: git push
9. I deploy: ssh chaulmark@10.4.0.206 "cd /docker/websites/deafgain/ && git pull && docker-compose up --build -d" 9. I ask: "Please connect VPN using vpn-manager.command"
10. I verify: Check https://deafgain.org/resources 10. User connects VPN
11. I report: "Done! New video '[Title]' is live on resources page" 11. I deploy: ssh chaulmark@10.4.0.205 "cd /docker/websites/deafgain/ && git pull && docker-compose up --build -d"
12. I verify: Check https://deafgain.org/resources
13. I report: "Done! New video '[Title]' is live on resources page"
``` ```
### Task: "Update Services/Content" ### Task: "Update Services/Content"
@ -247,8 +271,10 @@ git pull
4. I make changes 4. I make changes
5. I commit: "Update [page]: [description]" 5. I commit: "Update [page]: [description]"
6. I push: git push 6. I push: git push
7. I deploy: ssh chaulmark@10.4.0.206 "cd /docker/websites/deafgain/ && git pull && docker-compose up --build -d" 7. I ask: "Please connect VPN using vpn-manager.command"
8. I report: "Done! Changes live at deafgain.org" 8. User connects VPN
9. I deploy: ssh chaulmark@10.4.0.205 "cd /docker/websites/deafgain/ && git pull && docker-compose up --build -d"
10. I report: "Done! Changes live at deafgain.org"
``` ```
### Task: "Fix Bug/Issue" ### Task: "Fix Bug/Issue"
@ -260,9 +286,11 @@ git pull
5. I test fix locally: pnpm dev 5. I test fix locally: pnpm dev
6. I commit: "Fix [issue description]" 6. I commit: "Fix [issue description]"
7. I push: git push 7. I push: git push
8. I deploy: ssh chaulmark@10.4.0.206 "cd /docker/websites/deafgain/ && git pull && docker-compose up --build -d" 8. I ask: "Please connect VPN using vpn-manager.command"
9. I verify fix: Test on live site 9. User connects VPN
10. I report: "Fixed! [Explanation of what was wrong and what I did]" 10. I deploy: ssh chaulmark@10.4.0.205 "cd /docker/websites/deafgain/ && git pull && docker-compose up --build -d"
11. I verify fix: Test on live site
12. I report: "Fixed! [Explanation of what was wrong and what I did]"
``` ```
## Critical Files I Work With ## Critical Files I Work With
@ -322,7 +350,7 @@ API_URL=http://localhost:804
**What I Do**: Check coordinates format `[-long, lat]`, verify array syntax, test locally, fix and redeploy **What I Do**: Check coordinates format `[-long, lat]`, verify array syntax, test locally, fix and redeploy
### Issue: "Changes not live on website" ### Issue: "Changes not live on website"
**What I Do**: SSH to production, pull latest, rebuild Docker containers with `--build` flag **What I Do**: Ensure VPN is connected, SSH to production, pull latest, rebuild Docker containers with `--build` flag
### Issue: "Git token expired" ### Issue: "Git token expired"
**What I Tell User**: "Please generate new token at gitea.sigd.net → Settings → Applications → Access Tokens" **What I Tell User**: "Please generate new token at gitea.sigd.net → Settings → Applications → Access Tokens"
@ -345,11 +373,11 @@ API_URL=http://localhost:804
## Quick Reference ## Quick Reference
### User Says → AI Does ### User Says → AI Does
- "Add [Event] to map" → Get coordinates, edit Services.tsx, commit, push, deploy - "Add [Event] to map" → Get coordinates, edit Services.tsx, commit, push, ask for VPN, deploy
- "Add video [Title]" → Save 4 files, edit Resources.tsx, commit, push, deploy - "Add video [Title]" → Save 4 files, edit Resources.tsx, commit, push, ask for VPN, deploy
- "Update [Page] content" → Edit page file, commit, push, deploy - "Update [Page] content" → Edit page file, commit, push, ask for VPN, deploy
- "Email not working" → Diagnose, fix .env or code, commit, push, deploy - "Email not working" → Diagnose, fix .env or code, commit, push, ask for VPN, deploy
- "Fix [problem]" → Diagnose, fix code, test locally, commit, push, deploy - "Fix [problem]" → Diagnose, fix code, test locally, commit, push, ask for VPN, deploy
### AI Never Asks User To: ### AI Never Asks User To:
- ❌ Run git commands - ❌ Run git commands
@ -364,7 +392,8 @@ API_URL=http://localhost:804
- ✅ Test locally when possible - ✅ Test locally when possible
- ✅ Commit with clear messages - ✅ Commit with clear messages
- ✅ Push to Git repository - ✅ Push to Git repository
- ✅ Deploy to production via SSH - ✅ Ask user to connect VPN before deployment
- ✅ Deploy to production via SSH (once VPN connected)
- ✅ Verify changes are live - ✅ Verify changes are live
- ✅ Report completion simply - ✅ Report completion simply