docs: add PairDrop configuration to CLAUDE.md

Documented the PairDrop service with WebRTC STUN configuration:
- Service description and features
- RTC_CONFIG configuration with Google STUN servers
- Usage instructions for cross-network file sharing
- Technical details about WebRTC and NAT traversal

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-06 21:57:52 +01:00
parent f7ff2c2744
commit e2b7db5912

View File

@@ -296,6 +296,39 @@ Access https://paint.pivoine.art to use the image editor. All editing happens in
**Note**: miniPaint is stateless and doesn't require backups as no data is persisted.
### PairDrop (drop/compose.yaml)
PairDrop peer-to-peer file sharing service:
- **pairdrop**: PairDrop app (linuxserver/pairdrop image) exposed at `drop.pivoine.art:3000`
- Browser-based peer-to-peer file sharing
- WebRTC-based direct device-to-device transfers
- No server-side storage - files transfer directly between devices
- Works across different networks using STUN servers
- No account required - devices are discovered automatically
- Supports sharing files, text, and clipboard content
- Mobile and desktop browser support
**Configuration**:
- **RTC_CONFIG**: WebRTC configuration file at `/rtc_config.json`
- Configures STUN servers for NAT traversal
- Uses Google's public STUN servers for cross-network connectivity
- Enables peer connections between devices on different networks (WiFi to cellular, etc.)
- **RATE_LIMIT**: `true` (prevents abuse)
- **WS_FALLBACK**: `false` (disables WebSocket fallback)
**Usage**:
1. Access https://drop.pivoine.art on both devices
2. Devices will automatically discover each other if on the same network
3. For different networks, STUN servers enable peer discovery
4. Click on discovered device to share files or text
**Technical Details**:
- Uses WebRTC for direct peer-to-peer connections
- STUN servers help with NAT traversal and cross-network connections
- Configuration file mounted at `/rtc_config.json` with Google STUN servers
- No data persisted - stateless service
**Note**: PairDrop doesn't require backups as no data is stored on the server.
### Jellyfin (jelly/compose.yaml)
Jellyfin media server for streaming photos and videos:
- **jellyfin**: Jellyfin app exposed at `jelly.pivoine.art:8096`