前回の記事で、古いドライブからデータを救ってJellyfin等で見れるようにするところまではできました。
Jellyfinはマルチメディアプレイヤーとして大変素晴らしいものの、これらのアーカイブデータの中には、画像でも動画でも音楽でもないファイルも多くあります。
また、ディレクトリを辿るのがあまり快適でなく、別途ファイルサーバー的なサービスを導入したいなと思っていたのでした。しかしSambaを入れるのはなかなかめんどくさそう。
そこで偶然見つけたのがCopypartyです。
詳細な機能については開発者の紹介動画(これが偶然Youtubeに出てきたことで知れた!)を見るのが一番良いと思います。
この記事では、Dockerを使った導入方法と感想を述べていきます。
導入方法
gemini大先生に公式ドキュメントと用途を説明して、よしなに書いてもらいました。
docker-compose.yml に以下を追記。
# --- 9. The Versatile File Uploader/Sharer --- copyparty: image: copyparty/ac # README推奨のffmpeg等を含むエディション。詳細は公式ドキュメント参照。 container_name: copyparty restart: unless-stopped user: "1000:1000" # ホストのユーザーID/GIDと合わせ、権限問題を回避
volumes: # 設定ファイルとキャッシュを永続化する場所 - ./copyparty/cfg:/cfg
# 共有したいメディアフォルダをマウント - /mnt/data/salvaged_data:/srv/salvaged:rw # アップロード用に読み書き可能でマウント # - ... (他にもJellyfinなど他のサービスの設定が続きます) networks: - my-servicescopyparty.confを作成。
# 公式の最新サンプルに準拠した設定ファイル
# ==================================# グローバル設定# ==================================[global] # キャッシュやインデックス(.hist)を /cfg/hists/ 以下に保存 hist: /cfg/hists/
# マルチメディアインデックスとファイルシステムスキャンを有効化 e2ts, e2dsa
# ==================================# アカウント設定# ==================================[accounts] # 書式: ユーザー名: パスワード user: letmein
# ==================================# 共有ボリュームの設定# ==================================
[/salvaged] /srv/salvaged accs: rwmd: user起動。自宅サーバー運用を始めてから、改めてdockerの偉大さを実感しています。
docker compose up -d copypartyあとはNPMとかの設定をすれば完了。

UI上でテーマは色々と選べるのですが、とりあえずこのレトロ感漂うphi95を使うことにしました。
ここがすごいぞCopyparty
音楽関係の機能が充実している
開発者が音楽好きだからなのか、オーディオファイル関連の機能が尋常じゃなく充実しています。

↑上述した公式動画より。今年のM3にも行ってるくらいなので、だいぶ同人音楽に造詣が深そう。
Copypartyにはオーディオプレイヤーが(acエディション以上では)同梱されています。これがシンプルながら実に使いやすい。しかもイコライザー付き。


シークバーには波形を表示してくれる上、次のトラックをプリロードしてくれるのでトラック間のギャップも一切ありません。オーディオプレイヤーとして優秀すぎる。
特に感動したのが、スペクトラムアナライザによる音声ファイルの「プレビュー」が可能なこと。音声ファイルはスペアナの画像がサムネイルとなります。
この機能、Windowsで実現できないかなって昔探した覚えがあるのですが、結局挫折したのでした。なので本当にありがたい。
- 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
ガッツリサンプリング音源を使う人は、djエディションで導入すると幸せになれるかも。
ファイルサーバーとしても完璧
トップページの”connect”に行けば、Copyparty管理下のファイルをネットワークドライブとして自分の端末に接続する方法を示してくれます。

これに従えばアッサリ、各デバイスのエクスプローラで普通にファイルを操作することが可能に。素晴らしい。
とはいえCopypartyのUIはファイルエクスプローラーとして信じられないほど優秀で、デフォルトのWindowsファイルエクスプローラーはもちろん、自分がこれまで使ってきたどのエクスプローラーよりも便利に感じています。
なので、この機能を使ってネットワークドライブとしてアクセスするのはファイルをアップロードするときくらいかも。
さいごに
これまでデバイス間でちょろっとファイルを共有する時にはDiscordの一人サーバーを使ったりしていたのですが、Copypartyがあれば10MB制限に悩まされることも無いし、ローカルネットワークに閉じているのでセキュリティ的にも安心です。
Copypartyには細部に魂が宿っているというか、開発者が本当に欲しいと思った機能のみを超高品質に実装している感があり、用途的に刺さる人には本当に刺さるはず。今のところ不満点も特に無いし、個人的には「これがないと生きていけない」級のサービスになりそう。なんならContributionしていきたい。
ということでCopypartyのご紹介でした。