mention how to run the containers with selinux enabled * assumes that a /cfg docker volume is provided |
||
|---|---|---|
| .. | ||
| devnotes.md | ||
| Dockerfile.ac | ||
| Dockerfile.dj | ||
| Dockerfile.im | ||
| Dockerfile.iv | ||
| Dockerfile.min | ||
| Dockerfile.min.pip | ||
| make.sh | ||
| Makefile | ||
| README.md | ||
copyparty is availabe in these repos:
getting started
run this command to grab the latest copyparty image and start it:
docker run --rm -it -u 1000 -p 3923:3923 -v /mnt/nas:/w -v $PWD/cfgdir:/cfg copyparty/ac
/wis the path inside the container that gets shared by default, so mount one or more folders to share below there/cfgis an optional folder with zero or more config files (*.conf) to loadcopyparty/acis the recommended image edition- you can download the image from github instead by replacing
copyparty/acwithghcr.io/9001/copyparty-ac - if you are using rootless podman, remove
-u 1000 - if you have selinux, append
:zto all-vargs (for example-v /mnt/nas:/w:z)
i'm unfamiliar with docker-compose and alternatives so let me know if this section could be better 🙏
configuration
the container has the same default config as the sfx and the pypi module, meaning it will listen on port 3923 and share the "current folder" (/w inside the container) as read-write for anyone
the recommended way to configure copyparty inside a container is to mount a folder which has one or more config files inside; -v /your/config/folder:/cfg
- but you can also provide arguments to the docker command if you prefer that
- config files must be named
something.confto get picked up
editions
with image size after installation and when gzipped
min(57 MiB, 20 gz) is just copyparty itselfim(70 MiB, 25 gz) can thumbnail images with pillow, parse media files with mutagenac(163 MiB, 56 gz) isimplus ffmpeg for video/audio thumbs + audio transcoding + better tagsiv(211 MiB, 73 gz) isacplus vips for faster heif / avic / jxl thumbnailsdj(309 MiB, 104 gz) isivplus beatroot/keyfinder to detect musical keys and bpm
ac is recommended since the additional features available in iv and dj are rarely useful
most editions support x86, x86_64, armhf, aarch64, ppc64le, s390x
djdoesn't run onppc64le,s390x,armhfivdoesn't run onppc64le,s390x
detecting bpm and musical key
the dj edition comes with keyfinder and beatroot which can be used to detect music bpm and musical keys
enable them globally in a config file:
[global]
e2dsa, e2ts # enable filesystem indexing and multimedia indexing
mtp: .bpm=f,t30,/mtag/audio-bpm.py # should take ~10sec
mtp: key=f,t190,/mtag/audio-key.py # should take ~50sec
or enable them for just one volume,
[/music] # share name / URL
music # filesystem path inside the docker volume `/w`
flags:
e2dsa, e2ts
mtp: .bpm=f,t30,/mtag/audio-bpm.py
mtp: key=f,t190,/mtag/audio-key.py
or using commandline arguments,
-e2dsa -e2ts -mtp .bpm=f,t30,/mtag/audio-bpm.py -mtp key=f,t190,/mtag/audio-key.py
build the images yourself
basically ./make.sh hclean pull img push but see devnotes.md