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
/wis the path inside the container that gets shared by default/cfgis an optional folder with zero or more config files (*.conf) to loadcopyparty/acis the recommended image edition- If using rootless Podman, remove
-u 1000 - If you have SELinux, append
:zto all-vargs (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, s390xiv: x86, x86_64, armhf, aarch64dj: 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
Docker Compose
Recommended for easier management:docker-compose.yml
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
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:2
Expose FTP ports
BPM and Musical Key Detection (DJ Edition)
Thedj edition includes BPM and musical key detection:
copyparty.conf
Performance Optimization
Enable mimalloc for better performance (experimental):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:
- Better performance (especially with network storage)
- Keeps shared folders clean
- Easier backups
SELinux Systems
On Fedora, RHEL, CentOS with SELinux::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
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:
- Use Podman instead of Docker (recommended)
- Configure Docker to use
fuse-overlayfsstorage 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:Next Steps
Reverse Proxy
Set up nginx or Apache
Security
Harden your Docker installation
Systemd
Native systemd service