278 lines
5.3 KiB
Markdown
278 lines
5.3 KiB
Markdown
|
|
# 🚀 Habland Quick Start Guide
|
|||
|
|
|
|||
|
|
Get all services running in under 5 minutes.
|
|||
|
|
|
|||
|
|
## Prerequisites Check
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Check Docker is installed and running
|
|||
|
|
docker --version
|
|||
|
|
docker compose version
|
|||
|
|
|
|||
|
|
# Check available resources
|
|||
|
|
docker info | grep -E 'CPUs|Total Memory'
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Minimum Requirements:**
|
|||
|
|
- Docker Engine 20.10+
|
|||
|
|
- Docker Compose v2.0+
|
|||
|
|
- 8GB RAM
|
|||
|
|
- 20GB disk space
|
|||
|
|
|
|||
|
|
## 1️⃣ Initial Setup (First Time Only)
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Navigate to project
|
|||
|
|
cd /Users/matt/DEV/habland
|
|||
|
|
|
|||
|
|
# Create environment file
|
|||
|
|
cp .env.example .env
|
|||
|
|
|
|||
|
|
# Optional: Edit configuration
|
|||
|
|
nano .env
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 2️⃣ Create Docker Network
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Create the shared network
|
|||
|
|
docker network create habbo-network
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 3️⃣ Start Services
|
|||
|
|
|
|||
|
|
### Option A: Using Management Script (Recommended)
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Make script executable (first time only)
|
|||
|
|
chmod +x docker-manage.sh
|
|||
|
|
|
|||
|
|
# Start all services
|
|||
|
|
./docker-manage.sh start
|
|||
|
|
|
|||
|
|
# Or start specific stack
|
|||
|
|
./docker-manage.sh start arcturus # Arcturus + Cool UI
|
|||
|
|
./docker-manage.sh start havana # Havana stack
|
|||
|
|
./docker-manage.sh start kepler # Kepler emulator
|
|||
|
|
./docker-manage.sh start roseau # Roseau stack
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Option B: Using Docker Compose Directly
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Start all services
|
|||
|
|
docker compose up -d
|
|||
|
|
|
|||
|
|
# Or start specific services
|
|||
|
|
docker compose up -d unified-db arcturus-emulator cool-ui asset-server
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 4️⃣ Verify Services
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Check service status
|
|||
|
|
./docker-manage.sh status
|
|||
|
|
|
|||
|
|
# Or use docker compose
|
|||
|
|
docker compose ps
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Expected Output:**
|
|||
|
|
- ✅ All services should show "Up" status
|
|||
|
|
- ✅ Database should be healthy
|
|||
|
|
|
|||
|
|
## 5️⃣ Access Services
|
|||
|
|
|
|||
|
|
### Web Interfaces
|
|||
|
|
- **Cool UI Client**: http://localhost:5174
|
|||
|
|
- **Nitro React Client**: http://localhost:5173
|
|||
|
|
- **Havana Web**: http://localhost:8084
|
|||
|
|
- **Roseau Client**: http://localhost:8082
|
|||
|
|
- **AtomCMS**: http://localhost
|
|||
|
|
- **Admin Panel**: http://localhost:3000
|
|||
|
|
- **phpMyAdmin**: http://localhost:8081
|
|||
|
|
|
|||
|
|
### Database
|
|||
|
|
- **Host**: localhost
|
|||
|
|
- **Port**: 3306
|
|||
|
|
- **User**: root
|
|||
|
|
- **Password**: root
|
|||
|
|
|
|||
|
|
## 6️⃣ First-Time Configuration
|
|||
|
|
|
|||
|
|
### Generate AtomCMS Key
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
docker compose exec atomcms php artisan key:generate
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Check Database Initialization
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Open database shell
|
|||
|
|
./docker-manage.sh db
|
|||
|
|
|
|||
|
|
# Check databases were created
|
|||
|
|
SHOW DATABASES;
|
|||
|
|
|
|||
|
|
# Exit
|
|||
|
|
exit
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 🎮 Common Operations
|
|||
|
|
|
|||
|
|
### View Logs
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# All services
|
|||
|
|
./docker-manage.sh logs
|
|||
|
|
|
|||
|
|
# Specific service
|
|||
|
|
./docker-manage.sh logs arcturus-emulator
|
|||
|
|
docker compose logs -f havana-server
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Stop Services
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Stop all
|
|||
|
|
./docker-manage.sh stop
|
|||
|
|
|
|||
|
|
# Stop specific stack
|
|||
|
|
./docker-manage.sh stop arcturus
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Restart Services
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Restart all
|
|||
|
|
./docker-manage.sh restart
|
|||
|
|
|
|||
|
|
# Restart specific service
|
|||
|
|
docker compose restart arcturus-emulator
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 🗄️ Database Management
|
|||
|
|
|
|||
|
|
### Backup Database
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
./docker-manage.sh backup
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Backup Location:** `./backups/habland_backup_TIMESTAMP.sql.gz`
|
|||
|
|
|
|||
|
|
### Restore Database
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
./docker-manage.sh restore ./backups/habland_backup_20231207_120000.sql.gz
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 🔧 Troubleshooting
|
|||
|
|
|
|||
|
|
### Services Won't Start
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Check Docker is running
|
|||
|
|
docker info
|
|||
|
|
|
|||
|
|
# Check logs for errors
|
|||
|
|
docker compose logs
|
|||
|
|
|
|||
|
|
# Rebuild problematic service
|
|||
|
|
docker compose build --no-cache [service-name]
|
|||
|
|
docker compose up -d [service-name]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Port Conflicts
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Check what's using a port
|
|||
|
|
lsof -i :3306
|
|||
|
|
|
|||
|
|
# Kill process (if safe)
|
|||
|
|
kill -9 [PID]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Database Connection Failed
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Wait for database to be ready
|
|||
|
|
docker compose exec unified-db mysqladmin ping -proot
|
|||
|
|
|
|||
|
|
# Check database is accessible
|
|||
|
|
docker compose exec unified-db mysql -uroot -proot -e "SHOW DATABASES;"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Out of Memory
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Check resource usage
|
|||
|
|
docker stats
|
|||
|
|
|
|||
|
|
# Increase Docker memory limit (Docker Desktop > Settings > Resources)
|
|||
|
|
# Stop unnecessary services
|
|||
|
|
./docker-manage.sh stop kepler
|
|||
|
|
./docker-manage.sh stop roseau
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 📊 Service Port Reference
|
|||
|
|
|
|||
|
|
| Service | Port | Description |
|
|||
|
|
|---------|------|-------------|
|
|||
|
|
| unified-db | 3306 | MariaDB Database |
|
|||
|
|
| phpmyadmin | 8081 | Database Admin |
|
|||
|
|
| arcturus-emulator | 30000 | Game Server |
|
|||
|
|
| havana-server | 12321 | Game Server |
|
|||
|
|
| kepler-server | 12309 | Game Server |
|
|||
|
|
| roseau-server | 37120 | Game Server |
|
|||
|
|
| cool-ui | 5174 | Web Client |
|
|||
|
|
| nitro-react | 5173 | Web Client |
|
|||
|
|
| havana-web | 8084 | Web Client |
|
|||
|
|
| roseau-client | 8082 | Web Client |
|
|||
|
|
| atomcms | 80 | CMS Portal |
|
|||
|
|
| asset-server | 8083 | Game Assets |
|
|||
|
|
| admin-panel | 3000 | Admin Tools |
|
|||
|
|
|
|||
|
|
## 🆘 Getting Help
|
|||
|
|
|
|||
|
|
### Check Service Health
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
docker compose ps
|
|||
|
|
docker stats --no-stream
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Full System Reset (⚠️ Deletes all data)
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Stop and remove everything
|
|||
|
|
docker compose down -v
|
|||
|
|
|
|||
|
|
# Remove network
|
|||
|
|
docker network rm habbo-network
|
|||
|
|
|
|||
|
|
# Start fresh
|
|||
|
|
docker network create habbo-network
|
|||
|
|
docker compose up -d
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 📚 Next Steps
|
|||
|
|
|
|||
|
|
- Read [DOCKER_SETUP.md](DOCKER_SETUP.md) for detailed documentation
|
|||
|
|
- Configure emulator settings in respective config files
|
|||
|
|
- Import database schemas (if needed)
|
|||
|
|
- Customize `.env` for your environment
|
|||
|
|
|
|||
|
|
## ⚡ Pro Tips
|
|||
|
|
|
|||
|
|
1. **Use the management script** - It's easier than raw docker commands
|
|||
|
|
2. **Monitor logs** - Keep an eye on service logs during first startup
|
|||
|
|
3. **Wait for database** - Services may restart a few times waiting for DB
|
|||
|
|
4. **Backup regularly** - Use `./docker-manage.sh backup` before changes
|
|||
|
|
5. **Check resource usage** - Run `docker stats` to monitor performance
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**Need more help?** Check [DOCKER_SETUP.md](DOCKER_SETUP.md) for comprehensive documentation.
|