From bab97f716697f7c0bcc0841567a6cdc13acf24b2 Mon Sep 17 00:00:00 2001 From: Arpad Krejczinger Date: Mon, 6 Oct 2025 22:43:58 +0200 Subject: [PATCH] Add Copyparty Docker configuration - Replace config file with command-line arguments for Docker compatibility - Enable file search, deduplication, and partial upload features - Configure reverse proxy support with xff-src and rproxy flags - Add password database integration with chpw support - Map all NAS volumes with appropriate permissions - Fix health check to use /files/ path - Remove obsolete copyparty.conf (incompatible with Docker image) --- config/copyparty/copyparty.conf | 77 ------------------ config/docker/copyparty/docker-compose.yml | 90 ++++++++++++++++++++++ 2 files changed, 90 insertions(+), 77 deletions(-) delete mode 100644 config/copyparty/copyparty.conf create mode 100644 config/docker/copyparty/docker-compose.yml diff --git a/config/copyparty/copyparty.conf b/config/copyparty/copyparty.conf deleted file mode 100644 index e4c4c45..0000000 --- a/config/copyparty/copyparty.conf +++ /dev/null @@ -1,77 +0,0 @@ -# Copyparty Configuration for Homelab -# DEPLOYMENT LOCATION: /home/hoborg/.config/copyparty/copyparty.conf - -[global] - # Network settings - i: 127.0.0.1 - p: 8082 - rp-loc: /files - - # Reverse proxy configuration - rproxy: -1 - - # Security and features - usernames - chpw - chpw-db: /home/hoborg/.config/copyparty/passwords.json - e2dsa - dedup - dotpart - - # Upload settings - u2ts: c - chmod-f: 644 - chmod-d: 755 - - # Server name - name: homelab-files - -[accounts] - guest: SecurePass2024! - hoborg: AdminPass2024! - -[/shared] - /mnt/nas/shared - accs: - rw: guest - rwmd: hoborg - -[/documents] - /mnt/nas/documents - accs: - rwmd: hoborg - -[/music] - /mnt/nas/music - accs: - rw: guest - rwmd: hoborg - -[/videos] - /mnt/nas/videos - accs: - rw: guest - rwmd: hoborg - -[/private] - /mnt/nas/private - accs: - rwmd: hoborg - -[/pictures] - /mnt/nas/pictures - accs: - rw: guest - rwmd: hoborg - -[/installers] - /mnt/nas/installers - accs: - rw: guest - rwmd: hoborg - -[/torrent] - /mnt/nas/torrent - accs: - rw: guest - rwmd: hoborg diff --git a/config/docker/copyparty/docker-compose.yml b/config/docker/copyparty/docker-compose.yml new file mode 100644 index 0000000..c5c4edf --- /dev/null +++ b/config/docker/copyparty/docker-compose.yml @@ -0,0 +1,90 @@ +# Copyparty Docker Compose Configuration +# Deploy with: sudo mkdir -p /opt/docker/copyparty && sudo cp config/docker/copyparty/docker-compose.yml /opt/docker/copyparty/ +# Start with: cd /opt/docker/copyparty && sudo docker-compose up -d + +# COPYPARTY CONFIGURATION +# - File server with upload/download capabilities +# - WebDAV support for mobile and desktop clients +# - Bound to localhost only (reverse proxy required) +# - Configuration stored in repo at config/copyparty/copyparty.conf + +services: + copyparty: + image: copyparty/ac:latest + container_name: copyparty + restart: unless-stopped + + # Environment + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/Budapest + + # Network - bind to localhost for security + ports: + - "127.0.0.1:8082:3923" # Web UI (reverse proxy only) + + # Volume mounts + volumes: + # Password database + - /home/hoborg/.config/copyparty/passwords.json:/home/hoborg/.config/copyparty/passwords.json + # NAS storage volumes (mapped to container paths) + - /mnt/nas/shared:/w/shared:rw + - /mnt/nas/documents:/w/documents:rw + - /mnt/nas/music:/w/music:rw + - /mnt/nas/videos:/w/videos:rw + - /mnt/nas/private:/w/private:rw + - /mnt/nas/pictures:/w/pictures:rw + - /mnt/nas/installers:/w/installers:rw + - /mnt/nas/torrent:/w/torrent:rw + + # Command with inline volume configuration using -v flag + command: + - --rp-loc=/files + - --name=homelab-files + - --usernames + - --chpw + - --chpw-db=/home/hoborg/.config/copyparty/passwords.json + - --xff-src=172.0.0.0/8 + - --rproxy=-1 + - -e2dsa + - --dedup + - --dotpart + - -a + - hoborg:AdminPass2024! + - -a + - guest:SecurePass2024! + - -v + - /w/shared:shared:r:rw,guest:rwmd,hoborg + - -v + - /w/documents:documents:rwmd,hoborg + - -v + - /w/music:music:r:rw,guest:rwmd,hoborg + - -v + - /w/videos:videos:r:rw,guest:rwmd,hoborg + - -v + - /w/private:private:rwmd,hoborg + - -v + - /w/pictures:pictures:r:rw,guest:rwmd,hoborg + - -v + - /w/installers:installers:r:rw,guest:rwmd,hoborg + - -v + - /w/torrent:torrent:r:rw,guest:rwmd,hoborg + + # Resource limits + deploy: + resources: + limits: + cpus: '1.0' + memory: 1G + reservations: + cpus: '0.25' + memory: 256M + + # Health check + healthcheck: + test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3923/files/"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 30s