- Create LXC 171 (claude-agent) on pveelite with Ubuntu 24.04 - Install Node.js 20.x, Claude Code, tmux, Tailscale - Configure SSH access and Gitea integration - Add workflow scripts: start-agent.sh, work.sh, new-task.sh, finish-task.sh - Add code-server for mobile file browsing - Document complete setup in proxmox/claude-agent/README.md LXC Details: - IP internal: 10.0.20.171 - IP Tailscale: 100.95.55.51 - code-server: port 8080 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
203 lines
4.5 KiB
Markdown
203 lines
4.5 KiB
Markdown
# Claude Agent LXC - Documentație
|
|
|
|
## Informații Container
|
|
|
|
| Parametru | Valoare |
|
|
|-----------|---------|
|
|
| VMID | 171 |
|
|
| Hostname | claude-agent |
|
|
| IP intern | 10.0.20.171 |
|
|
| IP Tailscale | 100.95.55.51 |
|
|
| Host Proxmox | pveelite (10.0.20.202) |
|
|
| User | claude |
|
|
| Storage | local-zfs (32GB) |
|
|
| RAM | 4GB |
|
|
| CPU | 2 cores |
|
|
|
|
## Componente Instalate
|
|
|
|
- Ubuntu 24.04 LTS
|
|
- Node.js v20.x (via nvm)
|
|
- Claude Code
|
|
- tmux
|
|
- Git (configurat pentru Gitea)
|
|
- Tailscale
|
|
|
|
## Conectare
|
|
|
|
### De pe calculator (rețea internă)
|
|
```bash
|
|
ssh claude@10.0.20.171
|
|
```
|
|
|
|
### De pe telefon/exterior (Tailscale)
|
|
```bash
|
|
ssh claude@100.95.55.51
|
|
```
|
|
|
|
### VS Code Remote SSH
|
|
Config în `~/.ssh/config`:
|
|
```
|
|
Host claude-agent
|
|
HostName 10.0.20.171
|
|
User claude
|
|
```
|
|
|
|
## Scripturi Workflow
|
|
|
|
### start-agent.sh
|
|
Pornește sau se atașează la sesiunea tmux "agent".
|
|
|
|
```bash
|
|
~/start-agent.sh
|
|
```
|
|
|
|
### work.sh (recomandat)
|
|
Meniu interactiv pentru workflow complet:
|
|
- Listează proiectele disponibile în /workspace
|
|
- Permite crearea de branch-uri noi
|
|
- Continuarea pe branch-uri existente
|
|
- Finalizare task (commit + push)
|
|
- Vizualizare branch-uri
|
|
|
|
```bash
|
|
~/work.sh
|
|
```
|
|
|
|
### new-task.sh
|
|
Creează branch nou pentru un task (hardcodat pentru romfastsql).
|
|
|
|
```bash
|
|
~/new-task.sh fix/nume-bug
|
|
```
|
|
|
|
### finish-task.sh
|
|
Finalizează task-ul curent (commit + push).
|
|
|
|
```bash
|
|
~/finish-task.sh
|
|
```
|
|
|
|
## Workflow Complet
|
|
|
|
### De pe telefon (JuiceSSH + Tailscale)
|
|
|
|
1. Conectează-te la `100.95.55.51` cu user `claude`
|
|
2. Rulează:
|
|
```bash
|
|
~/start-agent.sh # pornește tmux
|
|
~/work.sh # meniu interactiv
|
|
```
|
|
3. Alege proiectul
|
|
4. Alege acțiunea (task nou / continuă / finalizează)
|
|
5. Lucrează cu Claude Code
|
|
6. Când termini: `~/work.sh` → opțiunea 3 (finalizează)
|
|
|
|
### De pe calculator (VS Code)
|
|
|
|
1. VS Code → Remote SSH → `claude-agent`
|
|
2. Open Folder → `/workspace/<proiect>`
|
|
3. Terminal → `source ~/.nvm/nvm.sh && claude`
|
|
|
|
## Structura Directoare pe LXC
|
|
|
|
```
|
|
/home/claude/
|
|
├── .ssh/
|
|
│ ├── authorized_keys # Chei SSH pentru acces
|
|
│ ├── gitea_ed25519 # Cheie pentru Gitea
|
|
│ └── config # Config SSH pentru Gitea
|
|
├── .nvm/ # Node Version Manager
|
|
├── .claude/
|
|
│ └── settings.json # Permisiuni Claude Code
|
|
├── .tmux.conf # Configurare tmux
|
|
├── start-agent.sh -> /workspace/start-agent.sh
|
|
└── work.sh -> /workspace/work.sh
|
|
|
|
/workspace/
|
|
├── start-agent.sh # Script pornire tmux
|
|
├── work.sh # Script workflow interactiv
|
|
├── new-task.sh # Script creare branch
|
|
├── finish-task.sh # Script finalizare task
|
|
├── CLAUDE.md # Info agent
|
|
├── SETUP-COMPLETE.md # Documentație setup
|
|
├── romfastsql/ # Proiect clonat
|
|
└── test/ # Alte proiecte
|
|
```
|
|
|
|
## Comenzi tmux Utile
|
|
|
|
| Comandă | Acțiune |
|
|
|---------|---------|
|
|
| `Ctrl+A, d` | Detașare din sesiune |
|
|
| `Ctrl+A, c` | Fereastră nouă |
|
|
| `Ctrl+A, n` | Fereastră următoare |
|
|
| `Ctrl+A, p` | Fereastră anterioară |
|
|
| `Ctrl+A, [` | Mod scroll (q pentru ieșire) |
|
|
| `tmux attach -t agent` | Reatașare la sesiune |
|
|
| `tmux ls` | Listare sesiuni |
|
|
|
|
## Git / Gitea
|
|
|
|
### Clonare proiect nou
|
|
```bash
|
|
cd /workspace
|
|
git clone git@gitea.romfast.ro:romfast/<nume-repo>.git
|
|
```
|
|
|
|
### Workflow branch-uri
|
|
```bash
|
|
git checkout main
|
|
git pull
|
|
git checkout -b feature/nume-feature
|
|
# ... lucrezi ...
|
|
git add .
|
|
git commit -m "descriere"
|
|
git push -u origin feature/nume-feature
|
|
# Creează Pull Request în Gitea
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### Claude Code nu pornește
|
|
```bash
|
|
source ~/.nvm/nvm.sh
|
|
which claude
|
|
claude --version
|
|
```
|
|
|
|
### tmux nu găsește sesiunea
|
|
```bash
|
|
tmux ls
|
|
tmux new -s agent -c /workspace
|
|
```
|
|
|
|
### Git clone eșuează
|
|
```bash
|
|
# Testează conexiunea SSH la Gitea
|
|
ssh -T git@gitea.romfast.ro
|
|
```
|
|
|
|
### Tailscale nu funcționează
|
|
```bash
|
|
sudo systemctl status tailscaled
|
|
sudo tailscale status
|
|
tailscale ip
|
|
```
|
|
|
|
## Instalare pe LXC nou
|
|
|
|
Scripturile pot fi copiate pe un LXC nou:
|
|
|
|
```bash
|
|
scp proxmox/claude-agent/*.sh claude@<ip>:/workspace/
|
|
ssh claude@<ip> "chmod +x /workspace/*.sh"
|
|
ssh claude@<ip> "ln -s /workspace/start-agent.sh ~/start-agent.sh"
|
|
ssh claude@<ip> "ln -s /workspace/work.sh ~/work.sh"
|
|
```
|
|
|
|
---
|
|
|
|
**Data setup:** 2025-12-31
|
|
**Ultima actualizare:** 2025-12-31
|