Как установить и настроить файлообменник PsiTransfer на VPS
Переслать коллеге большой файл через публичные сервисы — значит упереться в лимиты, рекламу и вопросы приватности. Установить файлообменник PsiTransfer на VPS — простой способ получить свой сервис обмена файлами: загрузка через браузер, ссылки со сроком жизни и полный контроль над данными. Разберём установку по шагам: от запуска в Docker до защищённого HTTPS-доступа с разумными лимитами.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Что такое PsiTransfer и когда он полезен
PsiTransfer — это лёгкий самостоятельный файлообменник с открытым кодом. Он даёт то же, что публичные сервисы вроде временных файлохранилищ: перетащили файл в браузер, получили ссылку, отправили получателю. Но всё это происходит на вашем сервере, ссылки живут ровно столько, сколько вы задали, а данные не уходят третьим сторонам.
Польза очевидна для нескольких сценариев. Обмен крупными файлами, которые не проходят по почте. Передача чувствительных документов, которые не хочется грузить в чужое облако. Приём файлов от клиентов и подрядчиков через режим запроса загрузки. Во всех случаях свой файлообменник снимает вопросы лимитов, рекламы и приватности разом.
PsiTransfer нетребователен и приятен в эксплуатации: поддерживает загрузку больших файлов кусками с возобновлением, показывает срок жизни ссылок и умеет защищать раздачи паролем. Это не тяжёлая корпоративная система, а компактный инструмент, который делает одну вещь и делает её хорошо. Развернуть его проще всего в Docker, чем мы и займёмся.
Подготовка VPS и требования
PsiTransfer лёгкий по процессору и памяти — основной ресурс это диск под загруженные файлы и канал для их отдачи. Для типового использования хватает 1–2 ядер и 2 ГБ RAM, а вот диск закладывайте под объём файлов, которые будут храниться до истечения срока ссылок. Если планируете обмен крупными файлами, канал и диск важнее процессора.
Поставьте Docker, если его ещё нет:
curl -fsSL https://get.docker.com | sh
systemctl enable --now docker
Локацию выбирайте по тому, откуда и куда будут ходить файлы: для обмена внутри России ниже пинг с RU-площадки, для работы с зарубежными партнёрами — US или UK. У MAATRIX доступны все три с оплатой из России картой, СБП или криптой, поэтому файлообменник можно разместить ближе к участникам обмена и с чистым IP, который важен для стабильной отдачи.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPSЗапуск PsiTransfer в Docker
PsiTransfer запускается одним контейнером. Данные — загруженные файлы и метаданные — должны храниться в томе на хосте, иначе при пересоздании контейнера всё потеряется. Подготовьте каталог под данные и запустите сервис:
mkdir -p /opt/psitransfer/data
docker run -d \
--name psitransfer \
--restart=unless-stopped \
-p 127.0.0.1:3000:3000 \
-v /opt/psitransfer/data:/data \
psitrax/psitransfer
Порт привязан к 127.0.0.1 намеренно: наружу файлообменник отдадим через реверс-прокси с HTTPS, а не откроем напрямую. Каталог /data хранит и файлы, и информацию о ссылках. Проверьте, что контейнер поднялся и слушает порт:
docker ps | grep psitransfer
curl -I http://127.0.0.1:3000
Ответ от сервиса означает, что PsiTransfer работает. Теперь его нужно настроить и защитить, потому что в таком виде он доступен только с самого хоста.
Настройка лимитов и срока жизни ссылок
Поведение PsiTransfer настраивается переменными окружения контейнера. Ключевые параметры — максимальный размер загрузки, доступные сроки жизни ссылок и, при желании, защита загрузок. Пересоздайте контейнер с нужными настройками, например с увеличенным лимитом размера и заданными сроками хранения:
docker run -d --name psitransfer \
--restart=unless-stopped \
-p 127.0.0.1:3000:3000 \
-v /opt/psitransfer/data:/data \
-e PSITRANSFER_RETENTIONS="one-time:One Time,3600:1 Hour,86400:1 Day,604800:1 Week" \
-e PSITRANSFER_MAX_FILE_SIZE=5368709120 \
psitrax/psitransfer
Здесь PSITRANSFER_RETENTIONS задаёт варианты срока жизни, которые увидит загружающий: от одноразовой ссылки (файл удаляется после первого скачивания) до недели. PSITRANSFER_MAX_FILE_SIZE ограничивает размер одного файла (в примере 5 ГБ). Продумайте эти значения под свои задачи: слишком большой лимит и долгий срок хранения быстро заполнят диск, слишком жёсткие — помешают работе. Одноразовые ссылки удобны для чувствительных файлов — они самоуничтожаются после получения.
HTTPS-доступ через реверс-прокси
Файлообменник обязательно нужно отдавать по HTTPS: через него ходят потенциально чувствительные файлы, и шифрование канала критично. Поставьте перед PsiTransfer реверс-прокси. Установите Nginx и certbot:
apt install nginx certbot python3-certbot-nginx -y
Создайте конфиг для домена. Ключевой момент — снять ограничение на размер тела запроса, иначе загрузка крупных файлов оборвётся, и увеличить таймауты для долгих загрузок:
server {
listen 80;
server_name files.example.com;
client_max_body_size 0;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_request_buffering off;
}
}
Директива client_max_body_size 0 снимает лимит размера, а proxy_request_buffering off позволяет отдавать большие файлы потоком без промежуточной буферизации на диске прокси. Включите сайт и выпустите сертификат:
nginx -t && systemctl reload nginx
certbot --nginx -d files.example.com
Теперь файлообменник доступен по https://files.example.com, а внутренний порт закрыт. Домен должен указывать на сервер для выпуска сертификата.
Проверка, безопасность и обслуживание
Проверьте весь путь: откройте https://files.example.com, загрузите тестовый файл, получите ссылку и скачайте по ней с другого устройства. Если крупный файл загружается без обрыва — лимиты и прокси настроены верно. Если загрузка обрывается, почти всегда дело в client_max_body_size или таймаутах прокси.
По части безопасности несколько рекомендаций. Файлообменник по своей природе принимает файлы извне, поэтому следите за диском — заполнение хранилища остановит сервис. Настройте разумные сроки жизни ссылок, чтобы файлы не копились вечно; PsiTransfer сам удаляет их по истечении срока. Если сервис не должен быть публичным, ограничьте доступ к загрузке на уровне прокси, например по паролю или списку IP, чтобы им не пользовались посторонние. Данные в каталоге /opt/psitransfer/data при необходимости включайте в бэкапы, хотя для временного обмена это часто не требуется.
Обслуживание минимально: обновление — это замена образа на свежий с сохранением тома, а контроль сводится к слежению за местом на диске. Когда объём обмена и число файлов растут, серверу нужен запас по диску и каналу — у MAATRIX VPS с быстрым вместительным NVMe и чистым IP доступны в локациях RU, US и UK с оплатой из России картой или криптой, что делает свой файлообменник удобным и независимым инструментом.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPSОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Чем свой PsiTransfer лучше публичных файлообменников?
Файлы хранятся на вашем сервере, ссылки живут заданное время, нет рекламы, лимитов и передачи данных третьим сторонам — полный контроль и приватность.
Почему загрузка большого файла обрывается?
Реверс-прокси ограничивает размер тела запроса; задайте client_max_body_size 0 и увеличьте таймауты, а также проверьте лимит PSITRANSFER_MAX_FILE_SIZE.
Как сделать так, чтобы файл удалялся после скачивания?
Используйте одноразовые ссылки (retention one-time) — файл самоуничтожается после первого получения, что удобно для чувствительных данных.
Как оплатить VPS под файлообменник из России?
У MAATRIX доступна оплата картой российского банка, по СБП, криптовалютой или токеном MAAT, иностранная карта не нужна.
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.