Dockerはnextcloudを使用してプライベートBaiduクラウドディスクを構築します

Dockerはnextcloudを使用してプライベートBaiduクラウドディスクを構築します

突然、ドキュメントの保存と共同作業のためのプライベート サービスを構築する必要がありました。多くの場所を検索した後、onlyoffice サービスがドキュメント編集のニーズを満たすことができることを発見しました。ストレージについては、nextcloud を使用してプライベート クラウド ディスク サービスを構築できます。このように、nextcloud + onlyoffice を使用すると、ドキュメントのオンライン共同ストレージのニーズを満たすことができます。実際、これは、offiice などのファイルを編集および共有できるプライベート クラウド ディスクです。

初期段階では従来のイメージを使用して1つずつ起動し、その後、デプロイメントをdocker-composeに切り替えるという2つのソリューションも提供しました。もう 1 つのポイントは、データベースが postgresql を使用していることです。システムは mysql と MariaDB もサポートしており、組み込みの sqlite を直接使用することもできます。 mysql を使用する場合、MariaDB の設定は postgresql と似ています。組み込みの sqlite ははるかにシンプルです。この記事のデータベース操作はすべて無視してください。

文章

サービスをインストールして開始する

方法 1: 従来のデプロイメント、方法 2: docker-compose デプロイメント。2 番目の方法は簡単なので推奨されます。

どちらにしても、まずdockerをインストールしてください
Linux での Docker のインストール

方法1

nextcloudイメージとデータベースイメージをプルする

データベースのミラーリングはオプションです。mysql を使用することも、nextcloud に組み込まれている sqlLite を直接使用することもできます。ここでは postgresql を使用します。また、Officeを操作する必要があるため、onlyoffice サービスもインストールしましたが、これは無視できます。

docker プル docker.io/nextcloud
docker プル postgres
docker pull onlyoffice/documentserver

コンテナを作成して起動する

内蔵データベースを使わない場合は、まずデータベース保存ウェアハウスを初期化する必要があります。データ保存専用のクラウドウェアハウスを作成して起動しました。

データベースを起動する(オプション)

docker run --restart=always --name postgresql -v /etc/localtime:/etc/localtime -v /data/postgresql:/var/lib/postgresql/data -e POSTGRES_PASSWORD=123456 -d -p 35432:5432 postgres

-e POSTGRES_PASSWORD=123456 は、デフォルトのデータベースパスワードが 123456 であることを意味します。

オフィスサービスを開始する(オプション)

docker run --name onlyoffice -i -t -d -p 9000:80 onlyoffice/documentserver

nextcloudを始める

docker run --restart=always --name nextcloud -p 8080:80 -v /nextcloud:/var/www/html --link postgresql:postgresql -d nextcloud

-name nextcloudコンテナ名を設定します

--restart=always常に自動的に再起動し、マシンのシャットダウンまたは再起動後にコンテナを再起動することを意味します。

-p 8080:80 は、ローカル ポート 8080 をコンテナー内のポート 80 にマッピングすることを意味します。つまり、アクセスするときにローカル ip:8080 が必要になります (必要なポートを選択できます)。

-v /nextcloud:/var/www/htmlは、コンテナ関連のリソースをローカルの /nextcloud ディレクトリ (独自のディレクトリを選択できます) にマップして、データの永続化やページ構成の外部変更などを容易にするために使用されます。

--link postgresql:postgresql必須ではありません。設定を簡単にするために postgresql データベース コンテナをリンクします (この機能については後で詳しく説明します)

方法2

docker-composeをインストールする

curl -L https://github.com/docker/compose/releases/download/1.10.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

docker-compose ファイルの作成

専用のフォルダを作成します。nextcloud を例にとり、その中に docker-compose.yml ファイルを作成します。

バージョン: '2'
サービス:
 ネクストクラウド:
  コンテナ名: nextcloud_app
  画像: nextcloud
  ポート:
   - 「8080:80」
  ボリューム:
   - ./app:/var/www/html
  リンク:
   - PostgreSQL
  再起動: 常に

 オンリーオフィス:
  コンテナ名: nextcloud_office
  画像: onlyoffice/documentserver
  ポート:
   - 「9000:80」
  再起動: 常に

 PostgreSQL:
  コンテナ名: nextcloud_db
  画像: postgres:11.4
  環境:
   - POSTGRES_パスワード:123456
  ボリューム:
   - ./postgresql:/var/lib/postgresql/データ
   - /etc/localtime:/etc/localtime
  再起動: 常に

ネットワーク:
 デフォルト:
  外部の:
   名前: ネクストクラウド

コンテナを起動する

docker-compose.ymlと同じディレクトリで操作します。
初回起動時には自動的にイメージが取得されるため、インターネット接続が必要です。また、ネットワーク接続方式が使用され、ネットブリッジを手動で作成する必要があります。
ネットを作成する:

docker ネットワーク作成 nextcloud

起動する:

docker-compose を起動 -d

上記のサービスが正式に開始されたら、次のステップは設定です。

初期設定

ブラウザアクセスIP:8080

4.1 管理者アカウントのパスワードを入力する

4.2 データディレクトリを変更せずにデフォルトを使用することをお勧めします。

4.3 データベースの選択

組み込みの SQLite データベース、より少ないストレージ ファイル、デフォルトのインストールを選択するだけで完了します。

他のデータベースを選択する場合は、PostgreSQL を例に挙げます。

データベースのユーザー名とパスワードを指定する必要はありませんが、データベースに対応するデータベース名を事前に作成する必要があります。

最も重要なデータベース ホストは、データベース アクセス IP + ポート番号です。

注:しかし、私が入力した postgresql は見覚えがありますか? はい、それは --link (方法 2 で同じ目的で使用した net メソッド) です。私のデータベースも docker コンテナを使用しています。--link を使用すると、PostgreSQL データベース コンテナをエイリアスとして渡すことができるため、ここでは postgresql を直接使用してデータベースを表すことができます (これは docker コンテナ間の通信方法です。PostgreSQL コンテナは nextcloud コンテナの前に起動する必要があることに注意してください)。

ホワイトリストの設定と使用

アクセスするためにドメイン名といくつかの新しい IP ポートが必要な場合は、/nextclou/config/config.php の設定を変更する必要があります (利用できない場合は追加してください)

 '信頼できるドメイン' =>
 配列 (
  0 => 'www.xxx.com:10080',
 )、

その後、メールボックスの構成を自分で調べることができます。

Officeのみ設定します(必要ありません。Word Onlineなどを操作したいだけです)

管理者としてクラウド ディスクにログインし、[ユーザー] -> [アプリ] をクリックして ONLYOFFICE プラグインをインストールします。


次に、「ユーザー」->「設定」->「ONLYOFFICE」に移動し、サービスのアドレスを入力します。


効果画像:

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Docker を使用した nextcloud パーソナル ネットワーク ディスクの構築に関するチュートリアル
  • Docker+nextcloudで個人用クラウドストレージシステムを構築
  • Dockerを使用してNextCloudネットワークディスクを展開する方法
  • Docker を使用して NextCloud プライベート ネットワーク ディスクをインストールおよび展開する方法

<<:  MySQL最新バージョン8.0.17解凍版インストールチュートリアル

>>:  Vueはシンプルなタイマーコンポーネントを実装します

推薦する

JavaScript でモバイル モーダル ボックスの効果を実現

この記事では、モバイルモーダルボックス効果を実現するためのJavaScriptの具体的なコードを参考...

Javascript ツリー メニュー (11 項目)

1. dhtmlxツリー dHTMLxTree は機能豊富なツリー メニュー コントロールです。豊...

MySQLログシステムの詳細情報共有

大規模なシステムに取り組んだことがある人なら誰でも、ログの役割を過小評価してはならないことを知ってい...

Vueは小さな検索機能を実装する

この記事の例では、検索機能を実装するためのVueの具体的なコードを参考までに共有しています。具体的な...

MySQL 4G メモリ サーバー構成の最適化

会社のウェブサイトのアクセス数が増えてくると(1日10万PV以上)、当然MySQLがボトルネックにな...

WebプロジェクトのDockerデプロイメントの実装

前回の記事では、docker サービスをインストールしました。引き続き、Web プロジェクトのデプロ...

SQL IDENTITY_INSERT ケーススタディ

一般的に、データ テーブル内の列を ID 列として設定すると、ID 列の表示値を手動で ID 列に挿...

フロア効果を実現するためのJavaScript

この記事では、フロア効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します。...

CentOS 6.9 で glibc ダイナミック ライブラリをアップグレードする詳細なプロセス

glibc は、gnu によってリリースされた libc ライブラリ、つまり c ランタイム ライブ...

HTML テーブルタグチュートリアル (32): セルの水平方向の配置属性 ALIGN

水平方向では、セルの配置を左、中央、右に設定できます。基本的な構文<TD ALIGN=&quo...

JavaScript による省・市連携効果の実現

この記事では、省と都市間の連携効果を実現するためのJavaScriptの具体的なコードを参考までに共...

CSS3 は本当に SCSS に取って代わるのでしょうか?

Web ページのスタイル設定に関しては、プロジェクトで純粋な CSS または SCSS (および他...

ベースタグとは何ですか? また、それは何をするのですか?

<base> タグは、ページ上のすべてのリンクのデフォルトのアドレスまたはデフォルトの...

JavaScriptクロージャの原理と機能の詳細な説明

目次導入クロージャの使用カレー作りパブリック変数の実装キャッシュカプセル化(属性のプライベート化)閉...

Javascript DOM、ノード、要素取得の紹介

目次DOMノード要素ノード:テキストノード:プロパティ ノード:要素を取得getElementByI...