# 🚀 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.