Введение: зачем ещё один файлообменник?
Nextcloud тяжеловат для слабого VPS или SBC. FileRun требует PHP и MySQL. Простой python -m http.server не умеет ни авторизацию, ни resumable-загрузки, ни безопасный доступ из интернета.
Copyparty — это single-file Python-сервер, который делает всё и сразу: HTTP/WebDAV/SFTP/FTP, drag-and-drop загрузки с возобновлением, миниатюры, поиск по тегам, дедупликация. И всё это без базы данных, без зависимостей и без боли.
А в связке с Cloudflare Quick Tunnel он получает публичный HTTPS-URL без открытия портов, без домена и без настройки DNS. Идеально для быстрого шаринга файлов с VPS, домашнего сервера или даже Repka Pi.
В этой статье мы поднимем рабочую конфигурацию за 5 минут, разберём грабли, на которые я наступил при тестировании, и настроим всё строго по официальной документации.
Что нам понадобится
- VPS или домашний сервер с Docker (Ubuntu/Debian)
- ~5 минут времени
- Базовое понимание терминала
Для владельцев SBC: Copyparty отлично работает на Repka Pi / Orange Pi. Если Docker не стоит, можно использовать SFX-версию (о ней в конце статьи).
Шаг 1: Подготовка директории
Создаём папку для файлов и ставим правильные права. Это важно, чтобы контейнер мог писать файлы без ошибок.
mkdir -p ~/copyparty-data
chown 1000:1000 ~/copyparty-data
Шаг 2: Запуск Copyparty
Используем официальный Docker-образ copyparty/ac (рекомендуемый, с поддержкой миниатюр и транскодинга).
docker run -d \
--name copyparty \
--restart unless-stopped \
--network host \
-v ~/copyparty-data:/w \
copyparty/ac:latest \
-a admin:YourStrongPassword123 \
-v /w::rw \
--xff-hdr cf-connecting-ip \
--rproxy 1




Разбор флагов
| Флаг | Зачем нужен |
|---|---|
--network host | Критически важно для работы с Cloudflare Tunnel в том же хосте |
-a admin:YourStrongPassword123 | Создаёт аккаунт. Без этого сервер открыт для всех! |
-v /w::rw | Права на том: r = чтение, w = запись |
--xff-hdr cf-connecting-ip | Говорит Copyparty читать реальный IP клиента из заголовка Cloudflare |
--rproxy 1 | Доверяет заголовку cf-connecting-ip полностью (в нём ровно один IP) |
Обязательно смените пароль
YourStrongPassword123на свой сложный пароль перед запуском!
Проверяем, что контейнер работает:
docker ps | grep copyparty
Статус должен быть Up, а не Restarting.
Шаг 3: Публикация в интернет через Cloudflare Quick Tunnel
Docker-образ Copyparty не поддерживает встроенный флаг --cfq (он есть только в SFX/pip-версии). Поэтому туннель запускаем отдельным контейнером.
docker run -d \
--name cloudflared \
--restart unless-stopped \
--network host \
cloudflare/cloudflared:latest \
tunnel --url http://127.0.0.1:3923
Получаем публичный URL:
docker logs cloudflared 2>&1 | grep 'url='
В выводе будет строка вида:
INF | https://calvin-hired-rejected-sullivan.trycloudflare.com |


Шаг 4: Проверка и первые грабли
Открываем полученный URL в браузере. Обязательно по HTTPS — Cloudflare Quick Tunnel не работает по HTTP.
#1: rejected by cors-check
Если вы видите эту ошибку или страница показывает только поле пароля без логина — проблема в настройке real-ip. Именно для этого мы добавили --xff-hdr cf-connecting-ip --rproxy 1 в шаг 2. Без этих флагов Copyparty видит IP туннеля вместо вашего реального IP и блокирует запросы.
#2: Контейнер в статусе Restarting
Если Copyparty постоянно перезапускается, проверьте логи:
docker logs copyparty --tail 50
Частая причина — конфликт флагов или неправильные права на директорию. Убедитесь, что ~/copyparty-data принадлежит UID 1000.
#3: --cfq не работает в Docker
Ошибка unrecognized arguments: --cfq означает, что вы пытаетесь использовать флаг SFX-версии в Docker-образе. В Docker туннель всегда запускается отдельным контейнером cloudflared.

Шаг 5: Безопасность (обязательно!)
Обновление до последней версии
В марте 2026 была обнаружена XSS-уязвимость (CVE-2026-32109). Регулярно обновляйте образ:
docker pull copyparty/ac:latest
docker stop copyparty && docker rm copyparty
# Перезапустите команду из шага 2
Анонимная загрузка
Если планируете давать ссылку другим для загрузки без пароля, обязательно добавьте volflag nohtml для защиты от XSS:
-v /w::rw:c,nohtml
Лимит размера файла
Cloudflare ограничивает запросы 100 МБ. Copyparty умеет бить файлы на чанки, но если будут ошибки загрузки больших файлов, добавьте флаг:
--u2sz 32

Реальные примеры использования
| Сценарий | Как сделать |
|---|---|
| Загрузка с телефона | Открыть URL в мобильном браузере → Drag&Drop или кнопка Upload |
| Загрузка через CLI | curl -u admin:Password -T file.txt https://your-tunnel.trycloudflare.com/ |
| WebDAV монтирование | Подключить как сетевой диск в Windows/Linux/macOS через контрол-панель |
| Шаринг ссылки на файл | ПКМ по файлу → Copy Link (ссылка требует авторизации) |
| Медиа-стриминг | Клик по видео/аудио файлу — воспроизведение прямо в браузере |
Альтернатива без Docker (SFX-версия)
Если Docker не доступен или вы хотите максимально быстрый старт, Copyparty можно запустить одной командой через SFX (self-extractor):
curl -L https://copyparty.eu/py > copyparty-sfx.py
chmod +x copyparty-sfx.py
./copyparty-sfx.py -a admin:YourStrongPassword123 -v ~/copyparty-data:/w::rw --cfq --xff-hdr cf-connecting-ip --rproxy 1
Здесь флаг --cfq работает из коробки, и туннель поднимается автоматически. Идеально для Repka Pi, Orange Pi или любого устройства с Python.
Сравнение с аналогами
| Функция | Copyparty | Nextcloud | FileRun | python http.server |
|---|---|---|---|---|
| Установка | 1 команда | Docker Compose + DB | PHP + MySQL | 1 команда |
| Потребление RAM | ~50 МБ | 512+ МБ | 256+ МБ | ~20 МБ |
| Resumable uploads | Да | Да | Да | Нет |
| WebDAV/SFTP/FTP | Да | Да (WebDAV) | Нет | Нет |
| Миниатюры | Да | Да | Да | Нет |
| Поиск по тегам | Да | Да | Нет | Нет |
| Дедупликация | Да | Нет | Нет | Нет |
| Cloudflare Tunnel | Да | Да | Да | Да |
Итоги
Copyparty — это тот редкий случай, когда «ещё один self-hosted проект» действительно решает боль. Он лёгкий, быстрый, функциональный и не требует подготовки инфраструктуры. В связке с Cloudflare Quick Tunnel вы получаете безопасный публичный доступ к файлам за 5 минут без открытия портов и настройки доменов.
Для домашнего сервера, VPS или SBC вроде Repka Pi / Orange Pi — отличный выбор, особенно если вам нужен просто надёжный файлообменник без оверхеда полноценного облака.



