Self-hosted media/storage server for Raspberry Pi 5 with per-device authentication, external storage, and HTTPS-ready REST API. Works with iOS Shortcuts, Safari, and custom clients. Docker container for linux/arm64.
git clone https://github.com/clxrityy/picloud.git pi-cloud && cd pi-cloud
cp server.example.conf server.conf
# Edit server.conf:
# - !!!! Change admin_bootstrap_token to a secure value
# - Adjust your max_upload_mb and device_quota_mb as needed
# Build and run the container
sudo docker compose up -d --build
# PRODUCTION (Raspberry Pi):
docker run -v ./server.conf:/app/server.conf -v /mnt/storage:/data pi-cloudmake help # View all commands- API available at
http://<pi-host>:8080/docs - Web interface available at
http:<pi-host>:8080(/)
# Register device (easy way with script)
make register-device LABEL=iphone
# OR:
# Manually with curl
curl -X POST -H "X-Admin-Token: <token>" -H "Content-Type: application/json" -d '{"label": "iphone"}' http://localhost:8080/api/devices/register
# Then access the Web UI at http://localhost:8080 and login with your device API key