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:
2025-08-18 19:22:37 +02:00
parent a7137e79a9
commit 326d0caaf1

View File

@@ -23,14 +23,18 @@ Internet → Router → Nginx (80/443) → Services
**Current Services:** **Current Services:**
- Gitea Git server: Docker container on port 3000, accessible via `/gitea/` path - 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/` - Nginx: Reverse proxy routing to `ak-homelab.duckdns.org/servicename/`
### Configuration Management ### Configuration Management
All configurations are version controlled in the `config/` directory: All configurations are version controlled in the `config/` directory:
- `config/docker/gitea/`: Gitea container setup and deployment scripts - `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/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/`). 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 up -d # Start
docker-compose pull && docker-compose up -d # Update 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 # Deploy from repo
sudo cp config/docker/gitea/docker-compose.yml /opt/docker/gitea/ 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 ### Nginx Operations
@@ -91,9 +115,10 @@ Use `TODO.md` for centralized task management organized by category (Network & S
### Service URLs ### Service URLs
- **Local access**: http://192.168.0.100/servicename/ - **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 - **Gitea SSH**: ssh://git@ak-homelab.duckdns.org:2223
- **Voice Assistant**: http://127.0.0.1:8880 (local TTS server) - **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 ### Voice Assistant Commands
```bash ```bash
@@ -114,4 +139,28 @@ curl -X POST "http://127.0.0.1:8880/v1/audio/speech" \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-d '{"input": "Hello world!", "voice": "ryan"}' \ -d '{"input": "Hello world!", "voice": "ryan"}' \
--output test.wav --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"
``` ```