Linux で PicoShare を使用して大きなファイルをオンラインでホストおよび共有する方法

Linux で PicoShare を使用して大きなファイルをオンラインでホストおよび共有する方法
ノートパソコンの前に立ち、手に携帯電話を持っている人の写真。

Picoshare は、軽量でアクセスしやすい Linux 用のファイル共有 Web アプリです。自分のサーバーからファイルをアップロードして共有できる、使いやすいインターフェイスを提供します。この記事では、Picoshare をインストールし、Ubuntu Linux で Docker を使用してオンラインでファイルを共有する方法を説明します。

オンラインでファイルを共有するのにPicoshareを使用する理由

PicoShare の最大のセールスポイントの 1 つは、Linux ベースのプラットフォームに簡単にデプロイできることです。Docker を使用すると、Linux の依存関係やプログラムの互換性を気にすることなく、PicoShare でファイルをオンラインで共有できます。

PicoShare のもう 1 つのセールス ポイントは、プラットフォームにアップロードしたファイルを操作しないことです。これにより、アップロード時にサーバーがメディアを再エンコードしないことが保証されるため、写真やビデオを共有するのに便利です。

サーバー上で動作している PicoShare のスクリーンショット。

最後に、PicoShare には、ファイル ストレージを外部オブジェクト ストレージ ソリューションに複製する機能があります。たとえば、Amazon S3 互換バケットを PicoShare サーバーにリンクし、サーバーのコンテンツの 1:1 バックアップを作成できます。これにより、あるシステムから別のシステムに移行するときにデータを簡単に復元できます。

PicoShareの前提条件のインストール

前提:このチュートリアルは、少なくとも 2 GB の RAM と 50 GB のディスク容量を備えた Ubuntu 24.04 マシンで実行されます。そのドメインの「A」レコードを作成できるドメイン名が必要です。最後に、この記事では、S3 互換のオブジェクト ストレージ バックエンドとして DigitalOcean Spaces を使用します。

PicoShare をインストールする最初のステップは、ホスト システム用の Docker と Nginx の両方を入手することです (他の Linux ディストリビューションの場合は、Linux システムに Docker をインストールする方法は次のとおりです)。まず、Docker プロジェクトのリポジトリの署名キーを取得します。

お気に入りのテキスト エディターを使用して、新しい apt リポジトリ ファイルを作成します。

新しいリポジトリ ファイル内に次のコード行を貼り付けます。

リポジトリ ファイルを保存し、システムのリポジトリ リストと現在のパッケージの両方を更新します。

Ubuntu で apt を使用して Docker、Docker Compose、Nginx をインストールします。

PicoShare のクラウド ストレージ バックアップの作成

S3 互換のクラウド ストレージ プロバイダーに移動し、新しいストレージ バケットを作成します。この場合、DigitalOcean Spaces を使用しているため、ダッシュボード画面で[作成] -> [Spaces オブジェクト ストレージ]をクリックします。

場所を示すスクリーンショット

S3 互換ストレージのデータセンターの場所を選択し、「CDN を有効にする」チェックボックスをオンにします。

Spaces バケットの場所と、バケットが DigitalOcean の CDN を使用するかどうかを構成するためのボタンを示すスクリーンショット。

新しい Spaces バケットの名前を指定し、「Spaces バケットの作成」をクリックして初期化します。

スペース名と場所を入力するテキストボックスのプロンプトを示すスクリーンショット

[Origin Endpoint] テキスト ボックスのコピー アイコンをクリックし、別のテキスト ファイルに貼り付けます。

Spaces のダッシュボード上のコピー アイコンの場所を強調表示したスクリーンショット。

DigitalOcean ダッシュボードの左側のサイドバーをスクロールし、APIカテゴリをクリックします。

ダッシュボード ページの API カテゴリの場所を示すスクリーンショット。

[Spaces キー]タブをクリックし、[新しいキーの生成]を選択します。

新しいキーの名前を指定して、「アクセス キーの作成」をクリックします。

ページから「アクセス キー」と「シークレット キー」の両方をコピーし、テキスト ファイルに貼り付けます。

Spaces バケットのアクセス キーとシークレット キーの場所を示すスクリーンショット。

PicoShareのインストールと実行

ユーザーのホーム ディレクトリ内に PicoShare 用の新しいフォルダーを作成し、そのフォルダー内に移動します。

お気に入りのテキスト エディターを使用して、PicoShare の Compose ファイルを作成します。

新しい .yml ファイル内に次のコード ブロックを貼り付けます。

「PS_SHARED_SECRET」変数の値を、十分に長くランダムなパスワードに置き換えます。これは、PicoShare の Web インターフェイスのパスワードとして機能します。

PicoShare インスタンス用にランダムに生成された共有パスワードを表示する端末。

「LITESTREAM_BUCKET」変数の値を、Spaces バケットの名前に変更します。

S3 互換バケットの適切な値を表示するターミナル。

エンドポイントのリージョンとドメイン名の部分をコピーし、「LITESTREAM_ENDPOINT」変数の値として貼り付けます。

S3 互換エンドポイント変数の適切な形式を示すスクリーンショット。

「LITESTREAM_ACCESS_KEY_ID」変数と「LITESTREAM_SECRET_ACCESS_KEY_ID」変数の両方の値を、DigitalOcean Spaces バケットのアクセス キーとシークレット キーに置き換えます。

PicoShare インスタンスの Spaces アクセス キーとシークレット キーを示すスクリーンショット。

docker-compose.yml ファイルを保存し、次のコマンドを実行して PicoShare インスタンスをビルドして実行します。

SSLリバースプロキシによるPicoShareのセキュリティ保護

この時点で、PicoShare はローカル マシンのポート 4001 で実行されています。インターネット上で安全にアクセスするには、すべての接続が SSL 経由で暗号化されていることを確認する必要があります。

まず、ドメイン名に PicoShare サーバーの IPv4 アドレスを指す新しい「A」レコードを作成します。私の場合は、「picoshare」という値を持つ「A」レコードを作成します。

スクリーンショットでは、

Ubuntu システムに「core」スナップ パッケージをインストールします。

Electronic Frontier Foundation (EFF) から certbot snap パッケージを取得します。

お気に入りのテキスト エディターを使用して、新しい Nginx サイト構成ファイルを作成します。

次のコード ブロックをサイト構成ファイル内に貼り付けます。

サイト設定ファイルを保存し、「/etc/nginx/sites-available/」ディレクトリから「/etc/nginx/sites-enabled/」フォルダへのシンボリック リンクを作成します。

Nginx 設定ファイルにエラーがないか再度確認し、次のコマンドを使用して Nginx Web サーバー デーモンを起動しますsystemctl

構成の検証と、Nginx Web サーバーを起動するための systemctl コマンドが表示されているターミナル。

EFF の certbot ユーティリティを使用して PicoShare サーバーを登録します。

サーバーのドメイン名を指す新しい SSL 証明書を生成します。

PicoShareのテストと最初のファイルのアップロード

Web ブラウザを開き、サブドメインに移動して PicoShare ランディング ページを読み込みます。

VPS 上で実行されている PicoShare のランディング ページを示すスクリーンショット。

ページの右上隅にある「ログイン」ボタンをクリックします。

「パスフレーズ」テキストボックスに「PS_SHARED_SECRET」の値を入力し、「認証」をクリックしてログインします。

PicoShare のログインプロンプトを示すスクリーンショット。

「アップロード」ボタンをクリックして PicoShare サーバーにデータを保存できるかどうかを確認し、ピッカー メニューからサンプル ファイルを選択します。

内部ダッシュボードのアップロード ボタンの場所を強調表示したスクリーンショット。

ファイルを共有したいユーザーにサーバーから返される最初のリンクをコピーします。

PicoShare インスタンス内の最初の共有可能なリンクの場所を強調表示したスクリーンショット。

PicoShareで一時的なゲストアップロードを有効にする

ユーザーが送信したアップロードのほかに、匿名ユーザーがサーバーに単一のファイルをアップロードできるようにする一時リンクを作成することもできます。これは、ファイルを共有する必要があるが、通常のクラウド サービスにファイルをアップロードできない人がいる場合に役立ちます。

まず、PicoShare のホームページでゲスト リンクカテゴリをクリックします。

場所を示すスクリーンショット

空のリンク概要テーブルのすぐ上にある[新規作成]ボタンをクリックします。

ゲストアップロードリンクの基本的な詳細を入力します。私の場合は、「MakeTechEasier」というラベルを付け、有効期限を「なし」に設定し、ファイルサイズの制限を 100 MB、全体のアップロード制限を 10 件に設定します。

完了したゲスト リンク フォームを示すスクリーンショット。

「作成」をクリックして、PicoShare インスタンスの一時的なゲスト リンクを生成します。

ゲスト リンクの右側にあるコピー アイコンをクリックし、クリップボードの内容を対象の受信者に送信します。

ゲスト リンク画面のコピー アイコンの場所を示すスクリーンショット。

Linux を使用してオンラインでファイルを共有するために PicoShare を導入し、保護することは、オンラインでのデジタル プライバシーを取り戻すための第一歩にすぎません。SimpleLogin を使用して独自の電子メール エイリアス サーバーをホストすることで、さらに保護を強化する方法を学びます。

画像クレジット: Alejandro Escamilla (UnsplashおよびPicoShare Github経由)。すべての変更とスクリーンショットは Ramces Red によるものです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です