version: '3.8' services: # Arcturus Emulator emulator: build: context: ./emulator dockerfile: Dockerfile container_name: retro-emulator restart: unless-stopped ports: - "30000:30000" - "2096:2096" volumes: - ./emulator/config.docker.ini:/emulator/config.ini:ro - ./emulator/plugins:/emulator/plugins:ro - emulator_logs:/emulator/logging networks: - habbo-network environment: - JAVA_OPTS=-Xmx2G -Xms512M extra_hosts: - "host.docker.internal:host-gateway" # Cool UI (Primary Client) cool-ui: build: context: . dockerfile: ./cool-ui/Dockerfile.simple container_name: habbo-cool-ui restart: unless-stopped ports: - "5174:80" depends_on: - asset-server - emulator networks: - habbo-network environment: - VITE_API_URL=${VITE_API_URL} - VITE_WEBSOCKET_URL=${VITE_WEBSOCKET_URL} # Standard Nitro React Client nitro-react: build: context: . dockerfile: ./nitro-react/Dockerfile.simple container_name: habbo-nitro-react restart: unless-stopped ports: - "5173:80" depends_on: - asset-server - emulator networks: - habbo-network environment: - VITE_API_URL=${VITE_API_URL} - VITE_WEBSOCKET_URL=${VITE_WEBSOCKET_URL} # Asset Server asset-server: build: context: . dockerfile: ./asset-server/Dockerfile container_name: habbo-asset-server restart: unless-stopped ports: - "8083:80" volumes: - ./nitro-assets/nitro-assets:/usr/share/nginx/html:ro networks: - habbo-network # AtomCMS cms: build: context: . dockerfile: ./cms/docker/Dockerfile container_name: habbo-cms restart: unless-stopped ports: - "80:80" - "443:443" volumes: - ./atomcms:/var/www/html - cms_storage:/var/www/html/storage - cms_cache:/var/www/html/bootstrap/cache networks: - habbo-network environment: - APP_NAME=${APP_NAME} - APP_ENV=${APP_ENV} - APP_KEY=${APP_KEY} - APP_DEBUG=${APP_DEBUG} - APP_URL=${APP_URL} - APP_URL=${APP_URL} networks: habbo-network: driver: bridge ipam: config: - subnet: 172.28.0.0/16 volumes: emulator_logs: driver: local cms_storage: driver: local cms_cache: driver: local