Skip to main content

Overview

Copyparty is available in multiple Docker images with different feature sets. All images are available on both Docker Hub and GitHub Container Registry, supporting multiple architectures including x86_64, ARM, and more.

Quick Start

  • /w is the path inside the container that gets shared by default
  • /cfg is an optional folder with zero or more config files (*.conf) to load
  • copyparty/ac is the recommended image edition
  • If using rootless Podman, remove -u 1000
  • If you have SELinux, append :z to all -v args (e.g., -v /mnt/nas:/w:z)

Available Editions

Choose the edition that matches your requirements:
ac is recommended for most users as it provides the best balance of features and size.

Architecture Support

  • min, im, ac: x86, x86_64, armhf, aarch64, ppc64le, s390x
  • iv: x86, x86_64, armhf, aarch64
  • dj: x86_64, aarch64

Image Sources

Installation

1

Pull the image

2

Create configuration directory

3

Create configuration file

Create ~/copyparty/config/copyparty.conf:
4

Run the container

Replace /path/to/share with the actual directory you want to share.

Docker Compose

Recommended for easier management:
docker-compose.yml
Start with:
For Podman with systemd, you may need to run systemctl enable --now podman.socket first.

Configuration

Volume Mapping

The container uses two primary mount points:
  • /w - The default web root (files to share)
  • /cfg - Configuration files directory

Multiple Shared Folders

Then configure in copyparty.conf:

Environment Variables

Command-Line Arguments

You can pass arguments directly instead of using config files:

Advanced Features

FTP Server

Enabling FTP in Docker requires additional configuration:
1

Update configuration

Add to copyparty.conf:
Do not add ftp-nat if using host networking (--network host).
2

Expose FTP ports

BPM and Musical Key Detection (DJ Edition)

The dj edition includes BPM and musical key detection:
copyparty.conf

Performance Optimization

Enable mimalloc for better performance (experimental):
Mimalloc doubles RAM usage but can make zip downloads 3x faster and indexing 1.5x faster.

Docker-Specific Recommendations

Store .hist in Config Folder

By default, copyparty creates a .hist folder in each volume for the database and thumbnails. Store these in the config folder instead:
Benefits:
  • Better performance (especially with network storage)
  • Keeps shared folders clean
  • Easier backups

SELinux Systems

On Fedora, RHEL, CentOS with SELinux:
The :z flag relabels the content for container access.

Rootless Podman

When using rootless Podman, remove the -u flag:

Container Management

Start/Stop

View Logs

Update Container

With Docker Compose:

Access Container Shell

Portainer

For GUI-based container management, see the Portainer setup guide.

Troubleshooting

Debian 12 Rootless Error

Error: failed to register layer: lsetxattr user.overlay.impure /etc: operation not supported Solutions:
  1. Use Podman instead of Docker (recommended)
  2. Configure Docker to use fuse-overlayfs storage driver

Permission Denied

Ensure the user ID matches the file owner:

Port Already in Use

Cannot Access from Other Machines

Ensure the container binds to all interfaces:

Building Custom Images

From Source

Adding Python Packages

To add packages without rebuilding from scratch:
Build and run:

Next Steps

Reverse Proxy

Set up nginx or Apache

Security

Harden your Docker installation

Systemd

Native systemd service