Skip to content

self-hosted media/storage server for Raspberry Pi 5

License

Notifications You must be signed in to change notification settings

clxrityy/PiCloud

Repository files navigation

PiCloud

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.

Documentation

Quick Start

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-cloud
make help # View all commands
  • API available at http://<pi-host>:8080/docs
  • Web interface available at http:<pi-host>:8080 (/)

Device Registration

# 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