this has been tested on a Synology ds218+
NAS with 1 SHR storage-pool and 1 volume, but the same steps should work in more advanced setups too
verified on DSM 7.1 and 7.2, but not on 6.x since my flea-market ds218+ refuses to install it for some reason
go to controlpanel -> shared-folders, and create the following shared-folders if you don't already have appropriate ones:
-
a shared-folder for configuration files, preferably on SSD if you have one
-
one or more shared-folders for your actual data/media to share
(btw, when you create the shared-folders, it asks whether you want to enable data checksum and file compression, i would recommend both)
the rest of this doc assumes that these two shared-folders are named configs
and media1
, and that you made an empty folder inside the configs
shared-folder named cpp
-
your copyparty config file (see below) should be named
something.conf
directly inside that cpp folder, for example/configs/cpp/copyparty.conf
-
during first start, copyparty will create a folder there named
copyparty
, in other words/configs/cpp/copyparty
which you should leave alone; that's where copyparty stores its indexes and other runtime config
open the Package Center and install Text Editor
(by Synology Inc.) to create and edit your copyparty config:
- note the
copyparty
andhist
folders in that screenshot which are autogenerated by copyparty and to be left alone
[global]
e2d, e2t # remember uploads & read media tags
rss, daw, ver # some other nice-to-have features
#dedup # you may want this, or maybe not
hist: /cfg/hist # don't pollute the shared-folder
name: synology # shows in the browser, can be anything
[accounts]
ed: wark # username ed, password wark
[/] # share the following at the webroot:
/w # the "/w" docker-volume (the shared-folder)
accs:
A: ed # give Admin to username ed
# hide the synology system files by creating a hidden volume
[/@eaDir]
/w/@eaDir
if you ever change the copyparty config file, then restart the container to make the changes take effect
okay now continue with one of these:
Docker
was replaced by Container Manager
in DSM v7.2 but they're almost the same thing;
- open the
Package Center
and install the Container Manager package byDocker Inc.
- open the
Container Manager
app - go to the
Registry
tab and search forcopyparty
- doubleclick copyparty/ac and keep the default
latest
when it asks you which tag to use - switch to the
Container
tab and clickCreate
- choose
copyparty/ac:latest
and clickNext
finally, in the Advanced Settings window,
- under
Port Settings
, type3923
into theLocal Port
textbox - click
Add Folder
and select/configs/cpp
on your nas (thecpp
folder in theconfigs
shared-folder), and changeMount path
to/cfg
- click
Add Folder
and select/media1
on your nas (the shared-folder that copyparty can share in its web-UI) and changeMount path
to/w
- if you are adding multiple shared-folders for media, then the
Mount path
of the 2nd folder should be something like/w/share2
or/w/music
- if you are adding multiple shared-folders for media, then the
copyparty will launch and become available at http://192.168.1.9:3923/ (assuming 192.168.1.9
is your nas ip)
if you're using DSM 7.1 or older, then you don't have Container Manager yet and you'll have to use Docker instead. Here's how:
- open the
Package Center
and install the Docker package byDocker Inc.
- open the
Docker
app - go to the
Registry
tab and search forcopyparty
- doubleclick copyparty/ac and keep the default
latest
when it asks you which tag to use - switch to the
Container
tab and clickCreate
- choose
copyparty/ac:latest
andNext
- in the Network window, keep the default
Use the selected networks: [x] bridge
- in the General Settings window, just keep everything default (in other words, everything disabled)
- in the Port Settings window, change
Local Port
to3923
(or choose something else, but it cannot be the defaultAuto
)
finally, in the Volume Settings window, add a docker volume for copyparty config, and at least one volume for media-files which copyparty can share in its web-UI
- click
Add Folder
and select/configs/cpp
on your nas (thecpp
folder in theconfigs
shared-folder), and changeMount path
to/cfg
- click
Add Folder
and select/media1
on your nas (the shared-folder that copyparty can share in its web-UI) and changeMount path
to/w
- if you are adding multiple shared-folders for media, then the
Mount path
of the 2nd folder should be something like/w/share2
or/w/music
copyparty will launch and become available at http://192.168.1.9:3923/ (assuming 192.168.1.9
is your nas ip)
note that if you only want to share some folders inside your data volume, and not all of it, then you can either give copyparty the whole shared-folder anyways and control/restrict access in the copyparty config file (recommended), or you can add each folder as a new docker volume (not as flexible)
the ram usage indicator in both Docker
and Container Manager
is misleading because it also counts the kernel disk cache which makes the number insanely high -- the synology resource monitor shows the correct values, usually less than 100 MiB
to see the actual memory usage by copyparty, see Resource Monitor
-> Task Manager
-> Processes
and look at the Private Memory
of python3
which is probably copyparty
when uploading files to the synology nas with the respective web-UIs,
-
File Station
does about 16 MiB/s, -
Synology Drive Server
does about 50 MiB/s; deceivingly fast upload speeds at first, but when the file is fully uploaded, there is a lengthy "processing" step at the end, reducing the average speed to about 50% of the initial -
copyparty maxes the HDD write-speeds, 99 MiB/s
when uploading to the synology nas over webdav,
-
WebDAV Server
bySynology Inc.
in the Package Center does 86 MiB/s -
copyparty does 79 MiB/s; the NAS CPU is a bottleneck because copyparty verifies the upload checksum while
WebDAV Server
doesn't