CMS・コンテンツ管理 一覧へ戻る トップUbuntu 26.04 LTSCMS・コンテンツ管理 / Nextcloud
Ubuntu 26.04 LTS 構築ガイドシリーズ

Nextcloud構築(Dockerコンテナ)

自分だけのクラウドストレージを、Docker×MariaDBで構築する

対象:Ubuntu 26.04 LTS (Server) Docker 29.1.3

目次

  1. はじめに
  2. 詳細な技術要素
  3. 実証手順
  4. トラブルシューティング
  5. まとめ

はじめに

Nextcloudは、Googleドライブ・Dropboxのようなクラウドストレージを自宅サーバーで運用できるオープンソースソフトウェアです。WordPressと並んで、自宅サーバー構築において特に検索需要の高いアプリケーションです。本ページでは、既に稼働中のWordPress(ポート80)と同居させる形で、別ポートでNextcloudを構築します。

1. 詳細な技術要素

用語説明
ポートの使い分け1台のサーバーで複数のWebアプリを同時に公開する場合、ポート番号を分ける(80番はWordPress、8080番はNextcloud、等)のが最も簡単な方法。
公式NextcloudイメージWordPressと同様、環境変数でデータベース接続情報を渡すだけで動作する公式Dockerイメージ。
推奨アプリ初回セットアップ時に提案される、Calendar・Contacts・Notes等の追加アプリ。後からいつでも「アプリ」画面で追加・削除できる。

2. 実証手順

1

ポートを許可し、データベースとNextcloudを起動する

実行コマンド
sudo ufw allow 8080/tcp

sudo docker network create nextcloud-net

sudo docker run -d --name nc-db --network nextcloud-net --restart=always \
  -e MYSQL_ROOT_PASSWORD=(強力なパスワード) \
  -e MYSQL_DATABASE=nextcloud \
  -e MYSQL_USER=nextcloud \
  -e MYSQL_PASSWORD=(強力なパスワード) \
  -v ~/nc-db-data:/var/lib/mysql \
  mariadb:latest

sudo docker run -d --name nextcloud --network nextcloud-net --restart=always -p 8080:80 \
  -e MYSQL_HOST=nc-db \
  -e MYSQL_DATABASE=nextcloud \
  -e MYSQL_USER=nextcloud \
  -e MYSQL_PASSWORD=(手順と同じパスワード) \
  -v ~/nc-data:/var/www/html \
  nextcloud:latest

WordPressコンテナ(ポート80)とNextcloudコンテナ(ポート8080)が同時に稼働する。実機で両方への同時アクセスを確認済み。

2

ブラウザから初期設定を進める

http://(サーバーのIP):8080/にアクセスし、管理者アカウントを作成する。セットアップ完了後、Calendar・Contacts・Mail・Notes等の推奨アプリをインストールするか聞かれるので、必要に応じて選択する(後からでも追加・削除できる)。

3. トラブルシューティング

ポート8080がUFWの許可なしでも外部から見えてしまう

解決策:Apache構築(Dockerコンテナ)ページで解説した「DockerはUFWのルールを無視してポートを公開する」という仕様がここでも当てはまる。sudo ufw allow 8080/tcpを実行したかどうかに関わらず、-p 8080:80で公開した時点でアクセス可能になっている点に注意すること。外部に公開する意図がない場合は、そもそも-pでポートを公開しないか、127.0.0.1:8080:80のようにlocalhost限定にする。

4. まとめ

WordPressとは別ポートで、Nextcloudによる自分だけのクラウドストレージを構築しました。1台のサーバーで複数のWebアプリをポート番号で使い分ける、という基本的な運用方法も確認できました。

CMS・コンテンツ管理 一覧へ戻る