Update project documentation with WebDAV and media services
- Add copyparty and Jellyfin to current services list - Include WebDAV URL for Android/desktop client access - Add copyparty service management commands - Document WebDAV client setup (X-plore, rclone, curl) - Update external URLs to HTTPS with SSL certificates - Add configuration management for new services 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
53
CLAUDE.md
53
CLAUDE.md
@@ -23,14 +23,18 @@ Internet → Router → Nginx (80/443) → Services
|
||||
|
||||
**Current Services:**
|
||||
- Gitea Git server: Docker container on port 3000, accessible via `/gitea/` path
|
||||
- Copyparty file server: Systemd service on port 8082, accessible via `/files/` path with WebDAV support
|
||||
- Jellyfin media server: Docker container on port 8096, accessible via `/media/` path
|
||||
- Nginx: Reverse proxy routing to `ak-homelab.duckdns.org/servicename/`
|
||||
|
||||
### Configuration Management
|
||||
|
||||
All configurations are version controlled in the `config/` directory:
|
||||
- `config/docker/gitea/`: Gitea container setup and deployment scripts
|
||||
- `config/nginx/`: Reverse proxy configurations
|
||||
- `config/docker/jellyfin/`: Jellyfin media server configuration
|
||||
- `config/nginx/`: Reverse proxy configurations with SSL and WebDAV support
|
||||
- `config/scripts/`: Utility scripts for system maintenance
|
||||
- `~/.config/copyparty/`: Copyparty file server configuration
|
||||
|
||||
Configuration files include deployment instructions in comments showing target locations (e.g., `/opt/docker/gitea/`, `/etc/nginx/sites-available/`).
|
||||
|
||||
@@ -44,8 +48,28 @@ docker-compose down # Stop
|
||||
docker-compose up -d # Start
|
||||
docker-compose pull && docker-compose up -d # Update
|
||||
|
||||
# Jellyfin operations (from /opt/docker/jellyfin/)
|
||||
docker-compose logs jellyfin # View logs
|
||||
docker-compose down # Stop
|
||||
docker-compose up -d # Start
|
||||
docker-compose pull && docker-compose up -d # Update
|
||||
|
||||
# Deploy from repo
|
||||
sudo cp config/docker/gitea/docker-compose.yml /opt/docker/gitea/
|
||||
sudo cp config/docker/jellyfin/docker-compose.yml /opt/docker/jellyfin/
|
||||
```
|
||||
|
||||
### Copyparty File Server Management
|
||||
```bash
|
||||
# Service operations
|
||||
sudo systemctl status copyparty # Check status
|
||||
sudo systemctl start copyparty # Start service
|
||||
sudo systemctl stop copyparty # Stop service
|
||||
sudo systemctl restart copyparty # Restart (reload config)
|
||||
|
||||
# Configuration
|
||||
sudo cp ~/.config/copyparty/copyparty.conf ~/.config/copyparty/copyparty.conf.backup
|
||||
# Edit config and restart service to reload
|
||||
```
|
||||
|
||||
### Nginx Operations
|
||||
@@ -91,9 +115,10 @@ Use `TODO.md` for centralized task management organized by category (Network & S
|
||||
|
||||
### Service URLs
|
||||
- **Local access**: http://192.168.0.100/servicename/
|
||||
- **External access**: http://ak-homelab.duckdns.org/servicename/
|
||||
- **External access**: https://ak-homelab.duckdns.org/servicename/
|
||||
- **Gitea SSH**: ssh://git@ak-homelab.duckdns.org:2223
|
||||
- **Voice Assistant**: http://127.0.0.1:8880 (local TTS server)
|
||||
- **Copyparty WebDAV**: https://ak-homelab.duckdns.org/files/ (for X-plore, rclone, etc.)
|
||||
|
||||
### Voice Assistant Commands
|
||||
```bash
|
||||
@@ -115,3 +140,27 @@ curl -X POST "http://127.0.0.1:8880/v1/audio/speech" \
|
||||
-d '{"input": "Hello world!", "voice": "ryan"}' \
|
||||
--output test.wav
|
||||
```
|
||||
|
||||
### WebDAV Client Setup
|
||||
```bash
|
||||
# X-plore File Manager (Android)
|
||||
# Server: ak-homelab.duckdns.org
|
||||
# Path: /files/
|
||||
# Port: 443 (HTTPS)
|
||||
# Username: hoborg
|
||||
# Password: AdminPass2024!
|
||||
|
||||
# rclone configuration
|
||||
rclone config create homelab-webdav webdav \
|
||||
url=https://ak-homelab.duckdns.org/files/ \
|
||||
vendor=other \
|
||||
user=hoborg \
|
||||
pass=$(rclone obscure "AdminPass2024!")
|
||||
|
||||
# Mount with rclone
|
||||
rclone mount homelab-webdav: ~/homelab-files --daemon
|
||||
|
||||
# Test WebDAV
|
||||
curl -X PROPFIND https://hoborg:AdminPass2024!@ak-homelab.duckdns.org/files/ \
|
||||
-H "Depth: 1" -H "Content-Type: text/xml"
|
||||
```
|
||||
Reference in New Issue
Block a user