Cloudreve
Cloud drive for your own files, with share links, WebDAV, previews for documents, photos and video, and offline downloads.
Cloud / File Sharing / Storage
File server in one Python app, with resumable uploads, thumbnails, search and a music player in the browser, plus WebDAV for mounting it as a drive.
It isn't in the main Portainer Templates list yet, so use this one. Portainer takes one URL at a time, so it swaps out whatever list you had before.
In Portainer, head to Settings --> App Templates, paste this in as the URL and save.
https://raw.githubusercontent.com/NotAFlightRisk/portainer-templates-extras/main/templates.json http://<your-server>:3923 in a browser.The same file Portainer deploys. It reads its settings from a .env next to it.
services:
copyparty:
image: copyparty/ac:latest
restart: unless-stopped
ports:
- "${COPYPARTY_PORT:-3923}:3923"
command:
- -a
- "admin:${COPYPARTY_PASSWORD:?Set a password}"
- -v
- /w::A,admin
- --hist
- /cfg/hists
- -e2dsa
- -e2ts
volumes:
- copyparty-files:/w
- copyparty-config:/cfg
volumes:
copyparty-files:
copyparty-config:
Fill in the blanks, as copyparty won't start without them.
# Password (required) - What you'll log in with. Anything long and hard to guess, or generate one with: openssl rand -hex 16
COPYPARTY_PASSWORD=
# Host port for the web UI
COPYPARTY_PORT=3923 Grab the file and start it.
mkdir copyparty && cd copyparty
curl -fsSL -o compose.yml https://raw.githubusercontent.com/NotAFlightRisk/portainer-templates-extras/main/apps/copyparty/compose.yml
# save the .env tab here as .env first
docker compose up -d Set the password before you deploy, since the stack won't start without one. Then open http://<your-host>:3923 (or whichever port you picked) and you'll land on a login box that only wants the password, no username. Logged in, you can upload, make folders, move, delete and see everything, while anyone else just gets that login box (upstream's own default is read-write for everyone). Files live in the copyparty-files volume, and the search index, thumbnails and logins live in copyparty-config. WebDAV clients connect to the same address, with any username and that password. Its switch to https button uses a certificate built into every copyparty, so it's no real protection, and a reverse proxy is the way to get proper HTTPS. Docs: github.com/9001/copyparty
What the Portainer form asks for. With compose they go in the .env file instead.
| Variable | What it's for | Default |
|---|---|---|
COPYPARTY_PASSWORD | Password (required) What you'll log in with. Anything long and hard to guess, or generate one with: openssl rand -hex 16 | Needs filling in |
COPYPARTY_PORT | Host port for the web UI | 3923 |
The containers this stack runs, with ports as they come out of the box.
| Service | Image | Ports |
|---|---|---|
copyparty | copyparty/ac:latest | 3923:3923 |