If you’ve ever wanted a simple way to share and manage files from your own server without dealing with heavy setups, Copyparty is worth a look. It’s a lightweight, self-hosted file server that runs almost anywhere. Windows, Linux, macOS, or even a Raspberry Pi. Everything happens through a browser, so once it’s running, you can upload, download, search, and organize files without needing extra software.

One of the easiest ways to run Copyparty is through Docker. With the official container image, you can spin it up quickly, keep it isolated, and manage updates without hassle. In this guide, we’ll walk through getting Copyparty running on your system using Docker Compose.

Copyparty Features

Copyparty comes packed with features, far too many to cover in one place. That’s part of what makes it so appealing, even if it can feel a little overwhelming at first. Some of my favorite features include...

  • Chunked downloading/uploading
  • File deduplication
  • File indexing and searching
  • Easily create shares in the UI with time limits and passwords
  • WebDav and SMB
  • ShareX Compatible
  • Mardown view/editor

Copyparty Configuration File

Here’s a sample copyparty.conf illustrating a typical setup with ports, encryption, zeroconf, user accounts, and volumes:

[global]
  p: 8086, 3923       # Listen on ports 8086 and 3923
  z, qr               # Enable Zeroconf (LAN service discovery) and QR code login
  shr: /shr           # Shared folder path
  hist: /cfg/hists/   # History/log directory

[accounts]
  jeremy: changethisp@ssw0rd  # Create a user named jeremy with password

[/]
  /media               # Expose /media as the root volume
  accs:
    rwda: jeremy       # Give user 'jeremy' read/write/delete/admin permissions on this volume
    
[/docker]
  /media/docker
  accs:
    rwda: jeremy

By default, Copyparty creates a .hist folder at the root of each volume to store the filesystem index, db, thumbnails, and other data. For better organization and performance, you can store these files in your config folder instead by adding hist: /cfg/hists/ to the [global] section of your copyparty.conf.

To enable shares, add shr: /shr to your config file. The /shr path becomes part of the share URL, so if you prefer shorter links, you can set it to something like /s instead.

Volumes are not the same as shares! Shares are created within the UI and can be sent to people via link. Volumes are directories you expose to the users you give access to. Do not mistake these as one and the same. The [/] volume is your root volume and will show up as such on the web UI.

Docker Compose File

The Docker Compose example below corresponds to the volume defined in the .conf file above. It provides a ready-to-use setup that you can customize and expand to fit your own Copyparty configuration.

services:
  copyparty:
    image: copyparty/ac:latest
    container_name: copyparty
    ports:
      - 3923:3923
    volumes:
      - /docker/copyparty/config.conf:/cfg/config.conf:ro
      - /docker/copyparty:/cfg/hists #database files
      - /mnt/media:/media #files being exposed to Copyparty

If you add additional volumes, remember to mount them in your Docker Compose setup and restart the container for the changes to take effect. You will also need to add the volumes in the configuration file.

Copyparty’s documentation is thorough, but it can feel a bit overwhelming at first. It took me some time to get everything running on my server, but once I did, I was impressed by how powerful it is. Thanks to chunked file processing, I no longer have to worry about Cloudflare cutting off large downloads. I recommend watching this video by the developer for a full tour of Copyparty.

Final Notes and Thoughts

Copyparty is one of those tools that grows with you the more you explore it. At first glance, it’s just a simple file server, but once you dig into the configuration options, you realize how flexible it really is.

The Docker setup makes it easy to get started, while the config file gives you full control when you’re ready to fine tune. It may take a little time to get comfortable with all the options, but the payoff is a lightweight, fast, and dependable system you control entirely.

You can follow the Copyparty project on their Github repo. Be sure to give the project a star!