# Seattle VM (Contabo VPS)

## 🖥️ Machine Specifications

| Component | Details |
|-----------|---------|
| **Provider** | Contabo VPS |
| **Hostname** | vmi2076105 (seattle-vm) |
| **OS** | Ubuntu 24.04.4 LTS |
| **Kernel** | Linux 6.8.0-90-generic |
| **Architecture** | x86_64 |
| **CPU** | 16 vCPU AMD EPYC Processor |
| **Memory** | 64GB RAM |
| **Storage** | 300GB SSD (24% used) |
| **Virtualization** | KVM |

## 🌐 Network Configuration

| Interface | IP Address | Purpose |
|-----------|------------|---------|
| **eth0** | YOUR_WAN_IP/21 | Public Internet |
| **tailscale0** | 100.82.197.124/32 | Tailscale VPN |
| **docker0** | 172.17.0.1/16 | Docker default bridge |
| **Custom bridges** | 172.18-20.0.1/16 | Service-specific networks |

## 🚀 Running Services

### Web Services (Docker)
- **[Wallabag](./wallabag/)** - Read-later service at `wb.vish.gg`
- **[Obsidian](./obsidian/)** - Note-taking web interface at `obs.vish.gg`
- **[MinIO](./stoatchat/)** - Object storage for StoatChat at ports 14009-14010

### AI/ML Services
- **[Ollama](./README-ollama.md)** - Local LLM inference server
  - API Port: 11434
  - Tailscale: `100.82.197.124:11434`
  - Models: `qwen2.5:1.5b`
  - Purpose: CPU-based inference for Perplexica integration

### Chat Platform
- **[StoatChat (Revolt)](./stoatchat/)** - Self-hosted chat platform
  - Multiple microservices: Delta, Bonfire, Autumn, January, Gifbox
  - Ports: 14702-14706

### Gaming Services
- **[PufferPanel](./pufferpanel/)** - Game server management panel
  - Web UI: Port 8080
  - SFTP: Port 5657
- **[Garry's Mod PropHunt](./gmod-prophunt/)** - Game server
  - Game Port: 27015
  - RCON: 39903

### System Services
- **Nginx** - Reverse proxy (ports 80, 443)
- **Tailscale** - VPN mesh networking
- **SSH** - Remote access (ports 22, 2222)
- **MariaDB** - Database server (port 3306)
- **Redis** - Cache server (port 6379)
- **Postfix** - Mail server (port 25)

## 📁 Service Directories

```
/opt/
├── wallabag/           # Wallabag installation
├── obsidian/           # Obsidian web interface
├── gmod-prophunt/      # Garry's Mod server files
└── pufferpanel/        # Game server management

/home/gmod/             # Garry's Mod user directory
/etc/nginx/sites-enabled/  # Nginx virtual hosts
```

## 🔧 Management

### Docker Services
```bash
# View running containers
docker ps

# Restart a service
docker-compose -f /opt/wallabag/docker-compose.yml restart

# View logs
docker logs wallabag
```

### System Services
```bash
# Check service status
systemctl status nginx tailscaled

# Restart nginx
sudo systemctl restart nginx

# View logs
journalctl -u nginx -f
```

### Game Server Management
- **PufferPanel Web UI**: Access via configured domain
- **Direct SRCDS**: Located in `/home/gmod/gmod-prophunt-server/`

## 🔒 Security Features

- **Tailscale VPN** for secure remote access
- **Nginx reverse proxy** with SSL termination
- **Firewall** configured for specific service ports
- **SSH** on both standard (22) and alternate (2222) ports
- **Local-only binding** for sensitive services (MySQL, Redis)

## 📊 Monitoring

- **System resources**: `htop`, `df -h`, `free -h`
- **Network**: `ss -tlnp`, `netstat -tulpn`
- **Docker**: `docker stats`, `docker logs`
- **Services**: `systemctl status`

## 🔗 Related Documentation

- [StoatChat Deployment Guide](./stoatchat/DEPLOYMENT_GUIDE.md)
- [Service Management Guide](./stoatchat/SERVICE_MANAGEMENT.md)
- [Troubleshooting Guide](./stoatchat/TROUBLESHOOTING.md)