All templates

Copyparty

v1.0.0

Authenticated file sharing, uploads, and media browsing.

files by getarcaneapp
x-arcane:
  icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/copyparty.svg
  urls:
    - https://github.com/9001/copyparty/blob/hovudstraum/scripts/docker/README.md

services:
  copyparty:
    image: copyparty/ac:latest
    restart: unless-stopped
    ports:
      - "${BIND_ADDRESS:-127.0.0.1}:${PORT:-3923}:3923"
    labels:
      com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/copyparty.svg
    environment:
      TZ: ${TZ:-Etc/UTC}
    command:
      - -a
      - ${USERNAME:-admin}:${PASSWORD:?Set a strong Copyparty password}
      - -v
      - /w::rwmda,${USERNAME:-admin}
      - --hist
      - /cfg/hists
    volumes:
      - ${FILES_PATH:-/srv/copyparty}:/w
      - state:/cfg

volumes:
  state:

README

Authenticated file sharing, uploads, and media browsing.

Copy .env.example to .env, replace every example secret with a unique generated value, adjust the settings, then deploy with docker compose up -d or import this template in Arcane. Open http://localhost:3923 on the Docker host. Ports bind to localhost by default; set BIND_ADDRESS to a trusted interface for LAN access, or use a reverse proxy with HTTPS.

Set a strong PASSWORD, create FILES_PATH, and ensure it is writable by the container user. The configured account has full control of the shared directory; anonymous users have no volume permissions. Avoid colons in usernames/passwords because the upstream command format uses them as delimiters. Back up the host files directory. Indexes and thumbnails use the named state volume.

Named volumes retain internal application state across container upgrades. Keep a backup before updating images; docker compose down -v deletes named volume data.

Upstream: installation and configuration.