ilapaj Library
Articles 日本語
5 min read (954 words)

The FOSS File Server Copyparty Is Insanely Handy

This is an English translation of the original Japanese article, translated with the help of AI.
Table of Contents

In my last post, I got as far as rescuing data from old drives and making it watchable in Jellyfin and friends.

I Started Running a Home Server

Jellyfin is a wonderful multimedia player, but plenty of these archived files are neither images, nor videos, nor music.

Also, browsing through directories in it isn’t exactly comfortable, and I’d been wanting to set up a separate file-server-type service. But installing Samba sounded like a real pain.

That’s when I stumbled upon Copyparty.

For the details on its features, I think the best thing is to watch the developer’s intro video (I only found out about Copyparty because it randomly showed up on YouTube!).

In this post, I’ll cover how to set it up with Docker, and what I think of it.

How to Set It Up#

I explained the official docs and my use case to Professor Gemini (the AI), and had it write things up for me as it saw fit.

Add the following to docker-compose.yml.

# --- 9. The Versatile File Uploader/Sharer ---
copyparty:
image: copyparty/ac # The edition that includes ffmpeg etc., recommended in the README. See the official docs for details.
container_name: copyparty
restart: unless-stopped
user: "1000:1000" # Match the host's user ID/GID to avoid permission problems
volumes:
# Where to persist the config files and cache
- ./copyparty/cfg:/cfg
# Mount the media folders you want to share
- /mnt/data/salvaged_data:/srv/salvaged:rw # Mounted read-write so you can upload
# - ... (the config for Jellyfin and other services continues here)
networks:
- my-services

Create copyparty.conf.

./copyparty/cfg/copyparty.conf
# Config file based on the latest official sample
# ==================================
# Global settings
# ==================================
[global]
# Store the cache and index (.hist) under /cfg/hists/
hist: /cfg/hists/
# Enable the multimedia index and filesystem scan
e2ts, e2dsa
# ==================================
# Account settings
# ==================================
[accounts]
# Format: username: password
user: letmein
# ==================================
# Shared volume settings
# ==================================
[/salvaged]
/srv/salvaged
accs:
rwmd: user

Launch it. Ever since I started running a home server, I keep gaining a fresh appreciation for how great Docker is.

docker compose up -d copyparty

After that, just do the NPM (Nginx Proxy Manager) setup or whatever, and you’re done.

You can pick from a bunch of themes in the UI, but for now I went with this retro-flavored phi95.

What’s So Great About Copyparty#

Packed with Music Features#

Maybe it’s because the developer loves music, but the audio-file-related features are absurdly well developed.

↑From the official video mentioned above. He even went to this year’s M3 (a Japanese doujin music convention), so he seems to know a lot about doujin music.

Copyparty ships with a built-in audio player (in the ac edition and above). It’s simple, yet really easy to use. And it even has an equalizer.

The seek bar shows the waveform, and it preloads the next track, so there’s no gap at all between tracks. It’s far too good as an audio player.

What really impressed me was that it can “preview” audio files with a spectrum analyzer. Audio files get a spectrogram image as their thumbnail.

I remember looking for a way to do this on Windows a long time ago, but I ended up giving up in the end. So I’m genuinely grateful for this.

  • min (57 MiB, 20 gz) is just copyparty itself
  • im (70 MiB, 25 gz) can thumbnail images with pillow, parse media files with mutagen
  • ac (163 MiB, 56 gz) is im plus ffmpeg for video/audio thumbs + audio transcoding + better tags
  • iv (211 MiB, 73 gz) is ac plus vips for faster heif / avic / jxl thumbnails
  • dj (309 MiB, 104 gz) is iv plus beatroot/keyfinder to detect musical keys and bpm

If you work heavily with sampling sources, you might be happy going with the dj edition.

Perfect as a File Server, Too#

Go to “connect” on the top page and it shows you how to hook up the files Copyparty manages to your own device as a network drive.

Follow that, and you can easily work with the files like normal in each device’s file explorer. Wonderful.

That said, Copyparty’s UI is unbelievably good as a file explorer. I find it more convenient than the default Windows File Explorer, of course, and than any other file explorer I’ve used so far.

So I might only use the network drive route when uploading files.

Conclusion#

Until now, whenever I wanted to quickly share a file between devices, I’d use a one-person Discord server. With Copyparty, I no longer have to fight the 10 MB limit, and since it’s confined to my local network, I can feel secure about security too.

Copyparty has soul in the details. It feels like the developer only implemented the features they themselves truly wanted, at super high quality, so for people whose needs it fits, it’ll really hit the spot. So far I have no complaints at all, and for me it’s probably going to be a “can’t live without it” service. I’d even like to contribute to it.

So that was an introduction to Copyparty.

More articles

All articles →
ilapaj
ilapaj

Notes on games, radio and technology, translated from the Japanese blog.

封面
Sample Song
Sample Artist
封面
Sample Song
Sample Artist
0:00 / 0:00