Sanitized mirror from private repository - 2026-03-16 11:01:28 UTC
This commit is contained in:
108
hosts/vms/seattle/pufferpanel/README.md
Normal file
108
hosts/vms/seattle/pufferpanel/README.md
Normal file
@@ -0,0 +1,108 @@
|
||||
# PufferPanel - Game Server Management
|
||||
|
||||
## 📋 Overview
|
||||
|
||||
PufferPanel is a web-based game server management panel that provides an easy-to-use interface for managing game servers, including Minecraft, Garry's Mod, and other popular games.
|
||||
|
||||
## 🔧 Service Details
|
||||
|
||||
| Property | Value |
|
||||
|----------|-------|
|
||||
| **Service Type** | System Service |
|
||||
| **Binary Location** | `/usr/sbin/pufferpanel` |
|
||||
| **Configuration** | `/etc/pufferpanel/` |
|
||||
| **Data Directory** | `/var/lib/pufferpanel/` |
|
||||
| **Web Port** | 8080 |
|
||||
| **SFTP Port** | 5657 |
|
||||
| **Process User** | `pufferpanel` |
|
||||
|
||||
## 🌐 Network Access
|
||||
|
||||
- **Web Interface**: `http://seattle-vm:8080`
|
||||
- **SFTP Access**: `sftp://seattle-vm:5657`
|
||||
- **Reverse Proxy**: Configured via Nginx (check `/etc/nginx/sites-enabled/pufferpanel`)
|
||||
|
||||
## 🚀 Management Commands
|
||||
|
||||
### Service Control
|
||||
```bash
|
||||
# Check status
|
||||
sudo systemctl status pufferpanel
|
||||
|
||||
# Start/stop/restart
|
||||
sudo systemctl start pufferpanel
|
||||
sudo systemctl stop pufferpanel
|
||||
sudo systemctl restart pufferpanel
|
||||
|
||||
# Enable/disable autostart
|
||||
sudo systemctl enable pufferpanel
|
||||
sudo systemctl disable pufferpanel
|
||||
```
|
||||
|
||||
### Logs and Monitoring
|
||||
```bash
|
||||
# View logs
|
||||
sudo journalctl -u pufferpanel -f
|
||||
|
||||
# Check process
|
||||
ps aux | grep pufferpanel
|
||||
|
||||
# Check listening ports
|
||||
ss -tlnp | grep -E "(8080|5657)"
|
||||
```
|
||||
|
||||
## 📁 Directory Structure
|
||||
|
||||
```
|
||||
/etc/pufferpanel/
|
||||
├── config.json # Main configuration
|
||||
└── ...
|
||||
|
||||
/var/lib/pufferpanel/
|
||||
├── servers/ # Game server instances
|
||||
├── templates/ # Server templates
|
||||
├── cache/ # Temporary files
|
||||
└── logs/ # Application logs
|
||||
```
|
||||
|
||||
## ⚙️ Configuration
|
||||
|
||||
### Main Config (`/etc/pufferpanel/config.json`)
|
||||
- Web interface settings
|
||||
- Database configuration
|
||||
- SFTP server settings
|
||||
- Authentication providers
|
||||
|
||||
### Server Management
|
||||
- Create new game servers via web interface
|
||||
- Configure server resources and settings
|
||||
- Manage server files via SFTP or web interface
|
||||
- Monitor server performance and logs
|
||||
|
||||
## 🔒 Security Considerations
|
||||
|
||||
- **User Access**: Managed through PufferPanel's user system
|
||||
- **File Permissions**: Servers run under restricted user accounts
|
||||
- **Network**: SFTP and web ports exposed, consider firewall rules
|
||||
- **Updates**: Keep PufferPanel updated for security patches
|
||||
|
||||
## 🎮 Supported Games
|
||||
|
||||
PufferPanel supports many game servers including:
|
||||
- Minecraft (Java & Bedrock)
|
||||
- Garry's Mod
|
||||
- Counter-Strike
|
||||
- Team Fortress 2
|
||||
- And many more via templates
|
||||
|
||||
## 🔗 Related Services
|
||||
|
||||
- **Garry's Mod PropHunt Server**: Managed through this panel
|
||||
- **Nginx**: Provides reverse proxy for web interface
|
||||
- **System Users**: Game servers run under dedicated users
|
||||
|
||||
## 📚 External Resources
|
||||
|
||||
- [PufferPanel Documentation](https://docs.pufferpanel.com/)
|
||||
- [GitHub Repository](https://github.com/PufferPanel/PufferPanel)
|
||||
- [Community Discord](https://discord.gg/pufferpanel)
|
||||
87
hosts/vms/seattle/pufferpanel/docker-compose.yml
Normal file
87
hosts/vms/seattle/pufferpanel/docker-compose.yml
Normal file
@@ -0,0 +1,87 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
pufferpanel:
|
||||
image: pufferpanel/pufferpanel:latest
|
||||
container_name: pufferpanel
|
||||
restart: unless-stopped
|
||||
|
||||
environment:
|
||||
- PUFFER_WEB_HOST=0.0.0.0:8080
|
||||
- PUFFER_DAEMON_SFTP_HOST=0.0.0.0:5657
|
||||
- PUFFER_DAEMON_DATA_FOLDER=/var/lib/pufferpanel
|
||||
- PUFFER_DAEMON_CONSOLE_BUFFER=50
|
||||
- PUFFER_DAEMON_CONSOLE_FORWARD=false
|
||||
- PUFFER_LOGS_LEVEL=INFO
|
||||
- PUFFER_WEB_SESSION_KEY=changeme-generate-random-key
|
||||
- TZ=America/Los_Angeles
|
||||
|
||||
ports:
|
||||
- "8080:8080" # Web interface
|
||||
- "5657:5657" # SFTP server
|
||||
|
||||
volumes:
|
||||
# Configuration and data
|
||||
- pufferpanel-config:/etc/pufferpanel
|
||||
- pufferpanel-data:/var/lib/pufferpanel
|
||||
- pufferpanel-logs:/var/log/pufferpanel
|
||||
|
||||
# Docker socket for container management (if needed)
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
|
||||
# Game server files (optional, for direct file access)
|
||||
- pufferpanel-servers:/var/lib/pufferpanel/servers
|
||||
|
||||
networks:
|
||||
- pufferpanel-network
|
||||
|
||||
# Security context
|
||||
user: "1000:1000"
|
||||
|
||||
# Resource limits
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '2'
|
||||
memory: 2G
|
||||
reservations:
|
||||
cpus: '0.5'
|
||||
memory: 512M
|
||||
|
||||
# Health check
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8080/api/self"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 60s
|
||||
|
||||
# Logging configuration
|
||||
logging:
|
||||
driver: "json-file"
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "3"
|
||||
|
||||
networks:
|
||||
pufferpanel-network:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
pufferpanel-config:
|
||||
driver: local
|
||||
pufferpanel-data:
|
||||
driver: local
|
||||
pufferpanel-logs:
|
||||
driver: local
|
||||
pufferpanel-servers:
|
||||
driver: local
|
||||
|
||||
# Note: This is a reference Docker Compose configuration.
|
||||
# The current installation runs as a system service.
|
||||
# To migrate to Docker:
|
||||
# 1. Stop the system service: sudo systemctl stop pufferpanel
|
||||
# 2. Backup current data: sudo cp -r /var/lib/pufferpanel /backup/
|
||||
# 3. Update this configuration with your specific settings
|
||||
# 4. Run: docker-compose up -d
|
||||
# 5. Restore data if needed
|
||||
Reference in New Issue
Block a user