
Иногда нужен максимально простой сервис:
- загрузить файл
- получить ссылку
- открыть её на другом устройстве
- скачать файл
Без:
- Telegram
- Google Drive
- FTP
- Samba
- сложной настройки
Именно для этого отлично подходит Pingvin Share.
Это лёгкий self-hosted файлообменник, который можно развернуть на VPS буквально за несколько минут.
По сути — свой маленький WeTransfer.
Что такое Pingvin Share
Pingvin Share — это веб-сервис для обмена файлами через браузер.
Работает очень просто:
- Загружаем файл
- Получаем ссылку
- Открываем её на другом устройстве
- Скачиваем файл
Всё.
Никаких клиентов и P2P.
Файл просто хранится на VPS.
Поэтому сервис нормально работает:
- между разными сетями
- через мобильный интернет
- через VPN
- через CGNAT
Например:
Телефон → VPS → ПК
Steam Deck → VPS → Android
Orange Pi → VPS → ноутбук
Почему Pingvin Share оказался удобнее PairDrop
Сначала хотелось использовать PairDrop.
Но PairDrop работает через WebRTC и P2P.
Из-за этого:
- устройства не всегда видят друг друга
- мобильный интернет может ломать соединение
- иногда нужен TURN сервер
- многое зависит от NAT
Pingvin Share работает намного проще.
Файл загружается на VPS, а потом скачивается по ссылке.
Поэтому:
- всё работает стабильнее
- не важно где находятся устройства
- не нужно возиться с WebRTC
Что умеет Pingvin Share
- загрузка больших файлов
- drag & drop
- QR-коды
- ссылки на скачивание
- ограничение времени хранения файлов
- пароли
- тёмная тема
- управление через веб-интерфейс
Можно спокойно передавать:
- ROM
- ISO
- ZIP
- APK
- AppImage
- docker-compose
- резервные копии
- видео
- скриншоты
Где особенно полезно
Steam Deck
Очень удобно передавать:
- ROM
- моды
- AppImage
- скриншоты
- видео
Без флешек и SFTP.
Orange Pi
Можно быстро перекидывать:
- образы
- APK
- docker-compose
- резервные копии
- bash-скрипты
Android ↔ Linux
Очень удобно для:
- APK
- фотографий
- архивов
- документов
- заметок
Что понадобится
Минимально:
- VPS с Ubuntu 24.04
- Docker
- Docker Compose
Даже слабого VPS обычно хватает:
- 1 vCPU
- 512 MB RAM
Установка Docker
Обновляем систему:
sudo apt update && sudo apt upgrade -y
Устанавливаем Docker:
curl -fsSL https://get.docker.com | sh
Добавляем пользователя в группу docker:
sudo usermod -aG docker $USER
Переподключаемся к серверу.
Проверяем:
docker --version
Создание проекта
Создаём каталог:
mkdir ~/pingvin-share
cd ~/pingvin-share
Создание docker-compose.yml
Создаём файл:
nano docker-compose.yml
Вставляем:
services:
pingvin-share:
image: stonith404/pingvin-share:latest
container_name: pingvin-share
restart: unless-stopped
ports:
- "3003:3000"
volumes:
- "./data:/opt/app/backend/data"
Что означает 3003:3000
Момент, который сначала может запутать.
3003:3000
Это:
ПОРТ_СНАРУЖИ : ПОРТ_ВНУТРИ_КОНТЕЙНЕРА
То есть:
3003 на VPS → 3000 внутри контейнера
Сам Pingvin Share внутри Docker работает на порту 3000.
Но наружу можно выдать любой свободный порт.
Например:
- "8080:3000"
Тогда сервис будет доступен:
http://IP:8080
В моём случае порт 3000 уже был занят другим сервисом, поэтому использовался 3003.
Запуск сервиса
Запускаем контейнер:
docker compose up -d
Проверяем:
docker ps
Должно быть примерно так:
pingvin-share Up (healthy)
Открываем сервис
Теперь открываем в браузере:
http://IP_СЕРВЕРА:3003
Например:
http://145.200.2.100:3003
После этого откроется интерфейс Pingvin Share.

Первая настройка
При первом запуске сервис попросит:
- логин
- пароль
Создаётся учётная запись администратора.
После этого появится страница:
/admin/intro
Там будут две кнопки:
- Customize configuration
- Explore Pingvin Share
Для начала достаточно нажать:
Explore Pingvin Share
После этого откроется основной интерфейс.
Проверка работы
Попробуем загрузить файл.
- Нажимаем Upload
- Выбираем файл
- Ждём загрузку
- Получаем ссылку
Например:
http://IP:3003/s/abc123
Теперь ссылку можно открыть:
- на телефоне
- Steam Deck
- другом ПК
- Orange Pi
И скачать файл.

Если страница не открывается
Самая частая причина — firewall.
Проверяем:
sudo ufw status
Если firewall включён:
sudo ufw allow 3003/tcp
Проверка локально на VPS
Можно проверить сервис прямо на сервере:
curl http://localhost:3003
Если сервис работает — вернётся HTML.
Где хранятся файлы
Все файлы находятся в каталоге:
~/pingvin-share/data
Можно:
- делать резервные копии
- переносить файлы
- очищать старые загрузки
Настройка домена
Гораздо удобнее использовать домен.
Например:
share.biggratz.ru
Тогда не придётся:
- помнить IP
- использовать порт
- открывать странные адреса
Установка NGINX
sudo apt install nginx -y
Конфиг NGINX
Создаём:
sudo nano /etc/nginx/sites-available/pingvin-share
Вставляем:
server {
server_name share.example.com;
client_max_body_size 20G;
location / {
proxy_pass http://127.0.0.1:3003;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}
Активация сайта
sudo ln -s /etc/nginx/sites-available/pingvin-share /etc/nginx/sites-enabled/
Проверяем:
sudo nginx -t
Перезапускаем nginx:
sudo systemctl restart nginx
SSL через Let’s Encrypt
Устанавливаем certbot:
sudo apt install certbot python3-certbot-nginx -y
Получаем сертификат:
sudo certbot --nginx -d share.example.com
После этого сервис будет доступен:
https://share.example.com
Ограничение размера файлов
В nginx есть важная строка:
client_max_body_size 20G;
Без неё большие файлы могут не загружаться.
Производительность
Pingvin Share очень лёгкий.
Даже дешёвый VPS спокойно выдержит:
- постоянное использование
- большие загрузки
- несколько устройств одновременно
Полезные сценарии
Передача файлов на Steam Deck
Например:
- Загружаем ROM с телефона
- Открываем ссылку на Steam Deck
- Скачиваем файл
Быстрый обмен APK
Очень удобно между:
- Android
- Linux
- Orange Pi
Передача docker-compose и скриптов
Удобно для:
- bash-скриптов
- docker-compose
- резервных копий
- конфигов
Итоги
Pingvin Share оказался одним из самых простых и одновременно самых полезных self-hosted сервисов для VPS.
Он:
- устанавливается за несколько минут
- почти не требует ресурсов
- работает через интернет без P2P
- отлично подходит для Linux и Steam Deck
- не требует сложной настройки
Особенно хорошо сервис раскрывается если у вас уже есть:
- VPS
- Steam Deck
- Orange Pi
- Linux
- Android
И нужен максимально простой способ обмена файлами между устройствами.