11: Nextcloud - Private Cloud Nextcloud is a self-hosted cloud platform for files, photos, calendars, and more — think of it like your own private Dropbox or Google Drive. For full usage instructions and advanced features, please refer to the official Nextcloud documentation . What is Nextcloud? (Simple Explanation) Nextcloud lets you store and share files, view photos, sync calendars and contacts, and access everything from mobile and desktop apps — all running on your own server, under your control. ✅ Store and share files with family, friends, or your team ✅ Access anywhere using web, desktop, and mobile apps ✅ Sync calendars and contacts across devices ✅ Extend with apps like Photos, Notes, Tasks, and more ✅ You own your data — everything stays on your server Prerequisites Before installing Nextcloud, make sure you have: ✅ Traefik installed (from Chapter 4 ) for secure HTTPS and domain routing ✅ Docker running (from Chapter 3 ) ✅ Apprise installed (from Chapter 5) for notifications ✅ Borgmatic installed (from Chapter 6) for automated backups (optional but recommended) ✅ A domain name (recommended) and an email address for SSL certificates Interdependencies: Backups for Nextcloud use Borgmatic (Chapter 6). Borgmatic notifications rely on Apprise (Chapter 5). If you skip backups now, you can add them later. Step 1: Start Infinity Tools Connect to your server via SSH and start Infinity Tools: sudo infinity-tools Using the Infinity Tools GUI In the main menu, go to the 📱 APPLICATIONS section. ✅ Applications are grouped with clear descriptions ✅ Status indicators show if apps are installed/running ✅ Navigate with the arrow keys, press Enter to select Step 2: Open Nextcloud in Applications Go to 📱 APPLICATIONS Select Nextcloud Choose Install Nextcloud What the installer does Creates a PostgreSQL database Sets up the Nextcloud service Connects to Traefik for HTTPS (if selected) Prepares data folders under /opt/speedbits/nextcloud Generates secure admin and database passwords Step 3: Choose HTTPS Mode When asked about SSL/HTTPS: Use Traefik for SSL? (Y/n) Y (recommended): Uses your domain with automatic SSL via Traefik N: Standalone mode using a direct port (HTTP or self-signed HTTPS) Step 4: Enter Your Domain (Traefik Mode) Example domains: cloud.yourdomain.com files.yourdomain.com If you’re not using a domain, the installer will ask you to pick a port for local access. Step 5: Set Default Storage Quota The installer offers to set a default per-user quota. Recommended: Choose per-user quota (e.g., 5 GB to start) You can change quotas later in the web interface This helps prevent your server from running out of disk space Step 6: Wait for Installation First-time setup takes about 2–5 minutes . The installer will show progress while Nextcloud initializes. Step 7: Save Your Admin Credentials When installation finishes, you’ll see an admin username and password . Write them down and keep them safe. You can also find them in /opt/speedbits/nextcloud/.env (root-only). Step 8: Open Nextcloud Traefik mode: Visit https://your-domain (e.g., https://cloud.yourdomain.com ) Standalone mode: Visit the IP and port shown by the installer (e.g., http://SERVER_IP:PORT ) Step 9: Verify It’s Running In Infinity Tools, go to 📊 STATUS & HEALTH → STATUS . You should see Nextcloud and its database running. Step 10: Recommended Next Steps ✅ Set up email in Nextcloud (for password resets and notifications) ✅ Install useful apps : Calendar, Contacts, Notes, Deck ✅ Configure user quotas (Settings → Users) ✅ Enable backups with Borgmatic (Chapter 6) ✅ Install mobile apps (iOS/Android) and desktop sync client Troubleshooting Can’t access the site Check that Traefik is running: docker ps | grep traefik Verify your domain points to your server (DNS) Wait a few minutes for SSL certificates to be issued Check Nextcloud logs: docker logs nextcloud Running out of disk space Reduce user quotas or free storage Monitor usage: df -h /opt/speedbits/nextcloud SSL warning in standalone HTTPS Self-signed certificates show a browser warning. Click “Advanced → Proceed” to continue, or switch to Traefik with a real domain for trusted HTTPS. Quick Reference Check containers: docker ps | grep -E "nextcloud|nextcloud-db" View logs: docker logs nextcloud Restart service: cd /opt/speedbits/nextcloud && docker compose restart Helpful Resources Official Nextcloud documentation Nextcloud desktop & mobile clients