MAATRIX / Блог / Как установить и настроить файлообменник PsiTransfer на VPS

Как установить и настроить файлообменник PsiTransfer на VPS

Как установить и настроить файлообменник PsiTransfer на VPS

MAATRIX

Переслать коллеге большой файл через публичные сервисы — значит упереться в лимиты, рекламу и вопросы приватности. Установить файлообменник 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 — десятки моделей в одном окне. Оплата картой РФ и по СБП.