
Zipline это не просто «еще один аплоадер», а полноценная платформа нового поколения с красивым UI, поддержкой PWA, OAuth2, вебхуками и мгновенной интеграцией со всеми популярными скриншотерами.
Развернем Zipline на VPS с Ubuntu 24.04 за 10 минут, используя Docker Compose. Никаких доменов и SSL на старте — только чистая функциональность.
Почему именно Zipline?
До этого я использовал FileBrowser. Это отличный файловый менеджер, но Zipline решает другую задачу — быстрый шеринг контента.
Ключевые преимущества v4:
- Мгновенный деплой: Один
docker compose up -dи всё работает. - Современный стек: Next.js + Prisma + PostgreSQL. Dashboard выглядит как коммерческий SaaS.
- Интеграции: Готовые конфиги для ShareX, Flameshot, iShare (macOS) и Apple Shortcuts.
- Безопасность из коробки: 2FA, Passkeys, квоты пользователей, защита паролем отдельных файлов.
- Гибкое хранение: Локально или S3 (MinIO, AWS, Cloudflare R2).
- Медиа-фичи: Автокомпрессия изображений, генерация превью для видео, embeds для Discord/Telegram.
⚠️ Важное требование: Процессор вашего VPS должен поддерживать инструкции AVX. Проверить можно командой:
grep -o avx /proc/cpuinfoЕсли вывод пустой — Zipline не запустится. На большинстве современных KVM/VPS проблем нет.
Шаг 1. Подготовка окружения
Работаем под root на чистой Ubuntu 24.04. Создадим организованную структуру в /opt:
apt update && apt upgrade -y
mkdir -p /opt/zipline/{uploads,public,themes}
cd /opt/zipline
Шаг 2. Генерация секретов
Zipline откажется стартовать без двух переменных окружения. Генерируем криптографически стойкие ключи одной командой:
echo "POSTGRESQL_PASSWORD=$(openssl rand -base64 42 | tr -dc A-Za-z0-9 | cut -c -32 | tr -d '\n')" > .env
echo "CORE_SECRET=$(openssl rand -base64 42 | tr -dc A-Za-z0-9 | cut -c -32 | tr -d '\n')" >> .env
Никому не передавайте содержимое .env!
Шаг 3. Docker Compose конфигурация
Создаем файл docker-compose.yml в директории /opt/zipline. Обратите внимание: мы явно монтируем три директории (uploads, public, themes) для персистентности данных и кастомизации.
services:
postgresql:
image: postgres:16
restart: unless-stopped
env_file:
- .env
environment:
POSTGRES_USER: zipline
POSTGRES_PASSWORD: ${POSTGRESQL_PASSWORD}
POSTGRES_DB: zipline
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ['CMD', 'pg_isready', '-U', 'zipline']
interval: 10s
timeout: 5s
retries: 5
zipline:
image: ghcr.io/diced/zipline
restart: unless-stopped
ports:
- '3000:3000'
env_file:
- .env
environment:
- DATABASE_URL=postgres://zipline:${POSTGRESQL_PASSWORD}@postgresql:5432/zipline
- DATASOURCE_LOCAL_DIRECTORY=/zipline/uploads
depends_on:
postgresql:
condition: service_healthy
volumes:
- ./uploads:/zipline/uploads
- ./public:/zipline/public
- ./themes:/zipline/themes
healthcheck:
test: ['CMD', 'wget', '-q', '--spider', 'http://localhost:3000/api/healthcheck']
interval: 15s
timeout: 2s
retries: 2
volumes:
pgdata:
Назначение томов
./uploads— загруженные пользователем файлы./public— статические ассеты (должен быть примонтирован к/zipline/public)./themes— кастомные темы оформления
Запускаем сервис:
docker compose pull
docker compose up -d
Через 30–60 секунд оба контейнера станут healthy. Открываем http://<IP_VPS>:3000 и создаем аккаунт супер-администратора.



Шаг 4. Безопасность (обязательно!)
Пока у нас нет обратного прокси и SSL, сервис доступен по HTTP. Минимальная защита:
- В Dashboard → Settings → Security включите 2FA или Passkeys.
- Ограничьте доступ по IP через UFW:
ufw allow from <ВАШ_ДОМАШНИЙ_IP> to any port 3000
- Позже настройте Nginx/Caddy + Certbot для HTTPS.



Практическое использование
ShareX (Windows)
Перейдите в Account → Uploaders → ShareX. Скачайте .sxcu файл и импортируйте его в ShareX двойным кликом. Теперь любой скриншот автоматически загружается на ваш сервер, а ссылка копируется в буфер обмена.
Flameshot (Linux)
В том же разделе скопируйте bash-скрипт. Добавьте его в настройки Flameshot как внешнюю команду загрузки. Работает бесшовно.
iOS / macOS
Установите официальный Zipline Shortcut из документации. Загрузка фото/видео прямо из галереи или меню «Поделиться».
Кастомные темы
Положите CSS/JSON файлы в /opt/zipline/themes. В настройках выберите тему. Можно стилизовать под свой бренд.
Обновление
Zipline развивается очень активно. Обновление занимает две команды (миграции БД применяются автоматически при старте):
cd /opt/zipline
docker compose pull
docker compose up -d
Дополнительные возможности
| Функция | Описание |
|---|---|
| URL Shortening | Короткие ссылки с кастомными алиасами |
| Embeds | Красивые превью для Discord, Telegram, Slack |
| Image Compression | Автоматическое сжатие изображений при загрузке |
| Video Thumbnails | Генерация превью для видеофайлов |
| Partial Uploads | Чанковая загрузка больших файлов |
| Quotas | Лимиты на объём загрузок для пользователей |
| Webhooks | Уведомления в Discord / HTTP при событиях |
| S3 Backend | Хранение файлов в MinIO, AWS, Cloudflare R2 |
| API | Полноценный REST API для программной интеграции |
Заключение
Zipline v4 — это тот редкий случай, когда open-source проект выглядит и работает лучше платных аналогов. Он легкий, безопасный и невероятно удобный для ежедневного использования. Для технического блога это идеальный инструмент: скриншоты ошибок, конфиги, демо-видео — всё загружается на собственный сервер за секунды и красиво отображается в статьях.
⭐ Если проект полезен — поставьте звезду Zipline на GitHub.