# BlueBubbles Server Setup Guide **Last Updated:** 2026-01-31 **Service:** BlueBubbles iMessage Server **Host:** Fred's iMac (10.0.10.11 / 10.0.10.144) **Version:** v1.9.9 **Status:** In Setup --- ## Overview BlueBubbles allows you to access iMessage on Android, Windows, and Linux devices by running a server on your Mac that forwards messages via WebSocket. **Architecture:** ``` iMessage on iMac (10.0.10.11) ↓ BlueBubbles Server (Port 1234) ↓ Caddy VPS Proxy (bluebubbles.nianticbooks.com) ↓ BlueBubbles Clients (Android/Web/Desktop) ``` --- ## Installation Steps ### Step 1: Download BlueBubbles Server **IMPORTANT:** You need to download this via Safari on your iMac due to GitHub's download mechanism. On your iMac: 1. Open Safari and navigate to: ``` https://github.com/BlueBubblesApp/bluebubbles-server/releases/tag/v1.9.9 ``` 2. Scroll down to "Assets" section 3. Click on **`BlueBubbles-v1.9.9.dmg`** (NOT the `.zip` file) 4. The file will download to your ~/Downloads folder ### Step 2: Install BlueBubbles Server 1. Open the downloaded `.dmg` file 2. Drag BlueBubbles to your Applications folder 3. Open BlueBubbles from Applications 4. If you get a security warning: - Go to System Settings → Privacy & Security - Click "Open Anyway" for BlueBubbles ### Step 3: Initial Configuration When BlueBubbles opens for the first time: 1. **Grant Permissions:** - Full Disk Access (required to read iMessage database) - Accessibility (required for Private API features) - Go to: System Settings → Privacy & Security → Full Disk Access - Add BlueBubbles and enable it 2. **Server Settings:** - **Port:** 1234 (default, or choose your own) - **Password:** Create a strong password (save it securely) - **Server Name:** "Fred's BlueBubbles" (or any name you prefer) 3. **Enable Private API** (Recommended): - This enables advanced features like: - Typing indicators - Read receipts - Message reactions - Send messages as specific accounts - Toggle "Enable Private API" in settings - Follow the on-screen instructions to install the helper 4. **Auto-Start Settings:** - ✅ Enable "Start server on login" - ✅ Enable "Start minimized" - This ensures BlueBubbles runs automatically ### Step 4: Configure Firewall (if enabled) If macOS Firewall is enabled on your iMac: 1. Go to System Settings → Network → Firewall 2. Click "Options..." 3. Add BlueBubbles to allowed apps 4. OR allow incoming connections on port 1234 ### Step 5: Test Local Access Before setting up external access, verify local functionality: 1. Note your server URL shown in BlueBubbles (should be like `http://10.0.10.11:1234`) 2. Note your password 3. Install BlueBubbles client on your phone/another device 4. Connect using: - **Server URL:** `http://10.0.10.11:1234` - **Password:** [Your password] 5. Verify you can see your messages --- ## External Access Setup (via Caddy VPS) Once local access works, we'll set up external access via your VPS. ### Option 1: Use BlueBubbles Built-in Proxy (Easiest) BlueBubbles includes built-in support for Cloudflare Tunnel, Ngrok, and Zrok: 1. In BlueBubbles settings, go to "Proxy Service" 2. Choose one of the free options: - **Cloudflare Tunnel** (recommended - free, reliable) - **Zrok** (free, open source) - **Ngrok** (free tier available) 3. Follow the on-screen setup for your chosen service 4. Use the generated URL for remote connections ### Option 2: Use Your Caddy VPS (More Control) Add to your Caddyfile on VPS (66.63.182.168): ```caddyfile bluebubbles.nianticbooks.com { reverse_proxy 10.0.10.11:1234 { header_up X-Forwarded-Host {host} header_up X-Forwarded-Proto {scheme} header_up X-Real-IP {remote_host} header_up X-Forwarded-For {remote_host} } } ``` Then reload Caddy: ```bash ssh fred@66.63.182.168 sudo systemctl reload caddy ``` **Client Connection:** - **Server URL:** `https://bluebubbles.nianticbooks.com` - **Password:** [Your password] --- ## Security Considerations 1. **Use HTTPS:** Always use HTTPS for external connections (Caddy handles this automatically) 2. **Strong Password:** Use a unique, strong password for BlueBubbles 3. **Keep iMac Secure:** Since it has access to all your messages: - Enable FileVault disk encryption - Use a strong user password - Keep macOS updated 4. **Network Security:** Your iMac is already on static IP 10.0.10.11, which is in the static range --- ## Maintenance ### Keep BlueBubbles Running BlueBubbles needs to run 24/7 to relay messages. To ensure it stays running: 1. Set iMac to never sleep: - System Settings → Energy Saver → Prevent automatic sleeping - OR: Use "caffeinate" command to keep it awake 2. Enable "Start server on login" in BlueBubbles settings 3. Optionally: Set up monitoring in Uptime Kuma (10.0.10.26) ### Updates Check for updates periodically: - BlueBubbles → Settings → Check for Updates - Or visit: https://github.com/BlueBubblesApp/bluebubbles-server/releases ### Logs If you encounter issues: - BlueBubbles → Settings → Logs - Logs are stored in: `~/Library/Application Support/bluebubbles-server/` --- ## Client Apps Download BlueBubbles clients for your devices: - **Android:** https://play.google.com/store/apps/details?id=com.bluebubbles.messaging - **Web:** https://bluebubbles.app/web - **Desktop (Windows/Linux):** https://github.com/BlueBubblesApp/bluebubbles-app/releases --- ## Troubleshooting ### Messages not syncing - Verify Full Disk Access is granted - Check iMessage is signed in and working on iMac - Restart BlueBubbles server ### Can't connect remotely - Verify local connection works first (http://10.0.10.11:1234) - Check Caddy configuration and reload - Verify WireGuard tunnel is up - Check firewall settings on iMac ### Private API not working - Ensure SIP (System Integrity Protection) is not blocking it - Reinstall Private API helper from BlueBubbles settings - Check macOS version compatibility ### iMac goes to sleep - Disable sleep in Energy Saver settings - Check "Prevent automatic sleeping when display is off" - Use "caffeinate" command to prevent sleep --- ## Next Steps After completing this setup: 1. ✅ Test local connection 2. ✅ Set up external access (choose Option 1 or 2) 3. ✅ Install client apps on your devices 4. ✅ Test sending/receiving messages remotely 5. ⬜ Set up monitoring in Uptime Kuma (optional) 6. ⬜ Document final configuration in SERVICES.md --- ## Service Information **Service Details:** - **Host:** Fred's iMac (Late 2013, 3.2GHz i5, 24GB RAM, macOS Sequoia) - **IP Address (Ethernet):** 10.0.10.11 (configured, cable not connected) - **IP Address (Wi-Fi):** 10.0.10.144 (currently active) - **Port:** 1234 (default) - **Version:** 1.9.9 - **Auto-Start:** Enabled - **Private API:** Enabled (recommended) **Public Access:** - **Option 1:** Built-in proxy (Cloudflare/Ngrok/Zrok) - **Option 2:** https://bluebubbles.nianticbooks.com (via Caddy VPS) **Status:** Setup in progress --- ## References - GitHub: https://github.com/BlueBubblesApp/bluebubbles-server - Documentation: https://bluebubbles.app/faq/ - Web Client: https://bluebubbles.app/web - Community: https://discord.gg/bluebubbles --- **Installation Date:** 2026-01-31 **Installed By:** Fred **Last Verified:** Pending initial setup