A self-hosted cloud storage solution built on a Raspberry Pi 3B+ using Docker and Nextcloud. Your own private Google Drive — no monthly fees, full data privacy, complete control.
This project turns a Raspberry Pi 3B+ into a fully functional personal cloud server accessible from any device on the local network. Built entirely from scratch with no prior Linux experience.
| Technology | Purpose |
|---|---|
| Raspberry Pi 3B+ | Hardware server |
| Raspberry Pi OS Lite | Operating system |
| Docker | Container runtime |
| Nextcloud | Cloud storage application |
| SSH | Remote access |
| WiFi Networking | Local network connectivity |
- Raspberry Pi 3B+ (or newer)
- MicroSD card (16GB minimum)
- Laptop with SSH client (PuTTY on Windows)
- Home WiFi network (2.4GHz)
- Raspberry Pi Imager
- Download Raspberry Pi Imager
- Select device: Raspberry Pi 3
- Select OS: Raspberry Pi OS Lite (32-bit)
- Configure settings before flashing:
- Enable SSH
- Set username:
pi - Set your password
- Enter WiFi credentials (2.4GHz only)
- Set WiFi country:
IN
- Flash to MicroSD card
# Insert MicroSD into Pi and power on
# Wait 90 seconds, then SSH from laptop
ssh pi@raspberrypi.local
# Update the system
sudo apt update && sudo apt upgrade -y# Install Docker
sudo apt install -y docker.io
# Add pi user to docker group
sudo usermod -aG docker pi
# Reboot
sudo reboot# Pull and run Nextcloud container
sudo docker run -d \
-p 8080:80 \
--name nextcloud \
--restart always \
nextcloud
# Verify container is running
sudo docker psOpen browser and navigate to: http://192.168.1.12:8080
Create admin account and complete setup.
| Issue | Fix |
|---|---|
| Pi not on WiFi | Use 2.4GHz network, Pi 3B+ doesn't support 5GHz |
| SSH not connecting | Wait 90 seconds after boot, check IP with arp -a |
| Docker install fails | Use sudo apt install docker.io instead of get.docker.com script |
| Nextcloud crashes | Add swap memory to Pi |
- Linux command line basics
- SSH remote access and server management
- Docker containerization
- Self-hosting web applications
- Network configuration and troubleshooting
- Raspberry Pi setup and configuration
- GitHub: shafinalam07