Как размещать большие файлы и делиться ими в Интернете с помощью PicoShare в Linux
В этой статье показано, как установить Picoshare и обмениваться файлами в Интернете с помощью Docker в Ubuntu Linux.
Установите необходимые условия для PicoShare
Предположения: это руководство выполняется на компьютере с Ubuntu 24.04, имеющим как минимум 2 ГБ ОЗУ и 50 ГБ дискового пространства. Вам понадобится доменное имя, чтобы иметь возможность создать запись «A» для этого домена. Наконец, в этой статье DigitalOcean Spaces будет использоваться для S3-совместимого серверного хранилища объектов.
Примечание. Хотя приведенные здесь инструкции предназначены для Ubuntu, они также применимы к большинству дистрибутивов Linux.
Первым шагом в установке PicoShare является подготовка Docker и Nginx для хост-системы (для других дистрибутивов Linux описано, как установить Docker в системе Linux). Для начала получите ключ подписи для репозитория вашего проекта Docker:
локон -fsSL | sudo gpg –dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg
Создайте новый файл репозитория apt с помощью вашего любимого текстового редактора:
sudo nano /etc/apt/sources.list.d/docker.list
Вставьте следующую строку кода в новый файл репозитория:
deb (arch=amd64подписано=/etc/apt/keyrings/docker.gpg) благородная стабильная версия
Сохраните файл репозитория, затем обновите список репозиториев системы и текущие пакеты:
обновление sudo apt && обновление sudo apt
Установите Docker, Docker Compose и Nginx, используя apt в Ubuntu:
sudo apt install docker-ce docker-ce-cliContainerd.io docker-compose-plugin docker-buildx-plugin nginx
Создайте резервные копии облачного хранилища для PicoShare.
Перейдите к поставщику облачного хранилища, совместимому с S3, а затем создайте новый сегмент хранилища. В этом случае используется DigitalOcean Spaces, поэтому нажмите «Создать» -> «Хранилище объектов Spaces» на экране панели управления.
Выберите расположение центра обработки данных для хранилища, совместимого с S3, затем установите флажок «Включить CDN».
Назовите новый сегмент пространств, затем нажмите «Создать сегмент пространств», чтобы инициализировать группу.
Нажмите значок «Копировать» в текстовом поле «Исходная конечная точка» и вставьте его в отдельный текстовый файл.
Прокрутите левую боковую панель панели управления DigitalOcean, затем щелкните категорию API.
Откройте вкладку «Ключи пробелов», затем выберите «Создать новый ключ».
Укажите имя нового ключа, затем нажмите «Создать ключ доступа».
Скопируйте «Ключ доступа» и «Секретный ключ» со страницы и вставьте в текстовый файл.
Установите и запустите PicoShare
Создайте новую папку для PicoShare внутри домашнего каталога пользователя, затем зайдите в эту папку:
mkdir ~/picoshare && компакт-диск ~/picoshare
Используйте свой любимый текстовый редактор, чтобы создать файл Compose для PicoShare:
nano ./docker-compose.yml
Вставьте следующий блок кода в новый файл .yml:
версия: “3.2” сервисы: picoshare: изображение: mtlynch/picoshare среда: – PORT=4001 – PS_SHARED_SECRET=СЛУЧАЙНЫЙ ПАРОЛЬ ЗДЕСЬ – LITESTREAM_BUCKET=”ИМЯ ВАШЕГО ВЕДРА” – LITESTREAM_ENDPOINT=”ВАША ИСХОДНАЯ КОНЕЧНАЯ ТОЧКА ЗДЕСЬ” – LITESTREAM_ACCESS_KEY_ID=”ВАШ ВЕДРО” A CCESS ID ЗДЕСЬ” – LITESTREAM_SECRET_ACCESS_KEY=”ВАШЕ СЕКРЕТНОЕ ВЕДРО ЗДЕСЬ” порты: – 4001:4001 команда: -db /data/store.db тома: – ./data:/data
Замените значение переменной PS_SHARED_SECRET случайным и достаточно длинным паролем. Он будет использоваться в качестве пароля для веб-интерфейса PicoShare.
Примечание. Вы можете сгенерировать свой собственный случайный пароль, запустив: cat /dev/urandom | tr -dc 'А-За-z0-9' | сложить -w 32 | head -n 1 в отдельном сеансе терминала.
Измените значение переменной LITESTREAM_BUCKET на имя сегмента пробелов.
Скопируйте регион и доменную часть конечной точки, а затем вставьте ее в качестве значения переменной LITESTREAM_ENDPOINT.
Замените значения переменных LITESTREAM_ACCESS_KEY_ID и LITESTREAM_SECRET_ACCESS_KEY_ID ключом доступа и секретным ключом корзины DigitalOcean Spaces.
Сохраните файл docker-compose.yml, затем выполните следующую команду, чтобы создать и запустить экземпляр PicoShare:
sudo docker составить -d
Примечание: вы также можете использовать Docker и Docker Compose для быстрого размещения сервера Minecraft в Linux.
Безопасный PicoShare с обратным прокси-сервером SSL
На этом этапе у вас должен быть запущен PicoShare через порт 4001 на вашем локальном компьютере. Чтобы безопасно получить к нему доступ в Интернете, вам необходимо убедиться, что все подключения к нему зашифрованы с помощью SSL.
Начните с создания новой записи «A» для домена, указывающей на адрес IPv4 сервера PicoShare. В этом случае будет создана запись «A» со значением «picoshare».
Установите «основной» пакет Snap в системе Ubuntu:
ядро установки sudo snap
Получите пакет оснастки certbot от Electronic Frontier Foundation (EFF):
sudo snap install certbot –classic
Создайте новый файл конфигурации сайта Nginx с помощью вашего любимого текстового редактора:
sudo nano /etc/nginx/sites-available/picoshare
Вставьте следующий блок кода в файл конфигурации веб-сайта:
сервер {имя_сервера ПОДДОМЕН.ВАШ-КОРНЕВЫЙ.ДОМЕН; местоположение / { proxy_pass proxy_http_version 1.1; proxy_redirect выключен; proxy_set_header Обновление $http_upgrade; proxy_set_header Соединение «обновление»; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Хост $host; client_max_body_size 0м; } }
Сохраните файл конфигурации сайта, затем создайте символьную ссылку из каталога «/etc/nginx/sites-available/» в каталог «/etc/nginx/sites-enabled/»:
sudo ln -s /etc/nginx/sites-available/picoshare /etc/nginx/sites-enabled/
Внимательно проверьте файл конфигурации Nginx на наличие ошибок, затем запустите демон веб-сервера Nginx с помощью systemctl:
nginx -t sudo systemctl Enable –now nginx.service
Зарегистрируйте сервер PicoShare с помощью утилиты certbot EFF:
sudo certbot зарегистрироваться –agree-tos -m ВАША ЭЛЕКТРОННАЯ ПОЧТА@АДРЕС.ЗДЕСЬ
Создайте новый сертификат SSL, указывающий на домен сервера:
sudo certbot –nginx -d ПОДДОМЕН.ВАШ-КОРНЕВЫЙ.ДОМЕНСэмюэл Дэниел
Обновление от 22 июня 2024 г.