- Batchfile 87.2%
- Shell 8.2%
- Dockerfile 4.6%
| .gitattributes | ||
| .gitignore | ||
| CHANGELOG.md | ||
| cloudron-wrapper.bat | ||
| CloudronManifest.json | ||
| configure-cloudron.bat | ||
| deploy.bat | ||
| DEPLOY.md | ||
| DESCRIPTION.md | ||
| Dockerfile | ||
| install.bat | ||
| INSTALL.md | ||
| logo.png | ||
| README.md | ||
| start.sh | ||
| update-cloudron.bat | ||
Copyparty for Cloudron
A Cloudron app package for Copyparty — a portable HTTP file server with resumable uploads/downloads, WebDAV, SFTP, media streaming, and more.
What is Copyparty?
Copyparty is a multi-protocol file sharing hub that works with any web browser, combining a modern web UI with support for traditional file transfer protocols.
Supported Protocols
| Protocol | Use Case |
|---|---|
| HTTP/HTTPS | Web UI with drag-and-drop uploads, search, media player |
| WebDAV | Mount as a network drive on any OS |
| SFTP | Secure file transfer (optional, not exposed by default) |
| FTP/FTPS | Legacy file transfer (optional, not exposed by default) |
Key Features
- Resumable uploads and downloads — works with any web browser
- File indexing — full filesystem scanning with search
- Media player — audio/video streaming with transcoding
- Image gallery — thumbnails and grid view
- Markdown editor — view and edit markdown files in-browser
- Multi-user — configurable permissions per folder (read, write, move, delete, admin)
- Audio transcoding — on-the-fly format conversion via FFmpeg
- Multimedia indexing — extract and search audio/video metadata tags
Cloudron Integration
This package runs Copyparty on Cloudron with:
- Automatic TLS — Cloudron handles HTTPS termination
- Automatic backups — persistent data at
/app/data/is backed up by Cloudron - Reverse proxy — Cloudron proxies HTTP traffic to Copyparty on port 3923
- AC edition — includes Pillow, FFmpeg, and Mutagen for full media support
Addons Used
| Addon | Purpose |
|---|---|
localstorage |
Persistent storage for files, config, SQLite database, and cache |
Exposed Ports
| Port | Protocol | Purpose |
|---|---|---|
| 3923 | HTTP | Web UI and WebDAV (proxied by Cloudron) |
Installation
Prerequisites
- A running Cloudron instance
- Cloudron CLI installed (
npm install -g cloudron) - Docker Desktop running and logged in
- A Docker Hub account
Quick Start
-
Clone this repository:
git clone https://git.cathedral.gg/Ben/copyparty-cloudron-app.git cd copyparty-cloudron-app -
Login to Cloudron:
cloudron login -
Run the install script:
./install.batFollow the prompts to choose your subdomain (e.g.
files.example.com). -
Log in with your generated password:
- Visit
https://your-subdomain/ - Username: admin / Password: shown in the Cloudron app logs on first start
- To change it later, edit the config file (see Configuration below)
- Visit
Updating
When you want to update to a newer version of Copyparty:
-
Bump the versions in
CloudronManifest.json:version(Cloudron package version / Docker tag)upstreamVersion(Copyparty version from PyPI)
-
Build and push:
./deploy.bat -
Update the running app:
./update-cloudron.bat
Project Structure
copyparty-cloudron-app/
├── CloudronManifest.json # Cloudron app manifest
├── Dockerfile # Build on cloudron/base:5.0.0 with Python + media deps
├── start.sh # Container startup script
├── DESCRIPTION.md # App description for Cloudron dashboard
├── CHANGELOG.md # Version history
├── deploy.bat # Build & push Docker image to Docker Hub
├── update-cloudron.bat # Update running Cloudron app
├── install.bat # First-time install to Cloudron
├── configure-cloudron.bat # One-time Docker Hub setup
├── cloudron-wrapper.bat # Windows env wrapper for Cloudron CLI
└── logo.png # App icon
How It Works
The Dockerfile installs Copyparty from PyPI onto cloudron/base:5.0.0 along with Python dependencies (Jinja2, Pillow, Mutagen, argon2-cffi, Paramiko, pyzmq, pyOpenSSL) and FFmpeg for media processing.
The start.sh script runs on every container start:
- Creates default configuration and data directories on first run
- Sets file ownership for the
cloudronuser - Starts Copyparty with reverse proxy trust configured via
CLOUDRON_PROXY_IP
Persistent Data
All persistent data lives under /app/data/ and is automatically backed up by Cloudron:
| Path | Purpose |
|---|---|
/app/data/cfg/ |
Configuration files (*.conf) |
/app/data/files/ |
Shared files (the file store) |
/app/data/state/ |
Working directory (SQLite DB, thumbnails, cache) |
Configuration
Copyparty is configured via .conf files in /app/data/cfg/. Edit them through the Cloudron Web Terminal:
vi /app/data/cfg/copyparty.conf
Then restart the app from the Cloudron dashboard.
Common Configuration Examples
Change admin password:
[accounts]
admin: your-new-password
Add more users:
[accounts]
admin: admin-password
alice: alice-password
bob: bob-password
Restrict anonymous access:
[/]
/app/data/files
accs:
rwmda: admin
rw: alice, bob
Create separate volumes with different permissions:
[/public]
/app/data/files/public
accs:
rw: *
[/private]
/app/data/files/private
accs:
rwmda: admin
See the full Copyparty documentation for all configuration options.
Links
- Copyparty — github.com/9001/copyparty
- Cloudron Docs — docs.cloudron.io
- Docker Hub — hub.docker.com/r/stalecontext/copyparty-cloudron-app
License
This Cloudron packaging is provided as-is. Copyparty itself is licensed under the MIT License.