From 326d0caaf1193600ae1ec7764ab006c2c7d54158 Mon Sep 17 00:00:00 2001 From: Arpad Krejczinger Date: Mon, 18 Aug 2025 19:22:37 +0200 Subject: [PATCH] Update project documentation with WebDAV and media services MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- CLAUDE.md | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 558246f..bc57022 100644 --- a/CLAUDE.md +++ b/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 @@ -114,4 +139,28 @@ curl -X POST "http://127.0.0.1:8880/v1/audio/speech" \ -H "Content-Type: application/json" \ -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" ``` \ No newline at end of file