Update memory bank: correct server IP to 10.4.0.205 and add VPN workflow
This commit is contained in:
parent
7d079f9b37
commit
efae0c098c
1 changed files with 53 additions and 24 deletions
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue