DockerでNextcloud+MariaDBを簡単構築!設定ファイルの永続化も考慮

目次

はじめに

自宅サーバーやVPSでファイル共有・同期を行いたいなら、Nextcloudは非常に強力な選択肢です。本記事では、Dockerを使ってNextcloudをMariaDBと連携させて構築する方法を解説します。環境構築が不安な方でも、Docker Composeを使えば簡単に立ち上げることができます。

また、Nextcloudは起動後に管理画面で警告やエラーが出ることが多く、速度改善のカスタマイズも必要になる場合があります
そのため、この記事ではそれらを見越して、永続化すべきファイルや設定ファイルを最初から外出ししておく構成にしています。

DockerでNextcloudを構築するメリットとは?

DockerでNextcloudを構築する最大の利点は、以下の3点です。

  • 依存関係を気にせず構築できる
    Apache、PHP、MariaDBのバージョン調整も不要
  • 設定ファイルを外に出せば柔軟にカスタマイズできる
    config.phpなどの重要ファイルもホスト側で管理可能
  • 構成をそのまま再現できる
    サーバー移行やバックアップも楽に行える

このように、DockerはNextcloudを運用していくうえで非常に相性が良いです。

使用する構成と事前準備

これから構築する構成は以下の通りです。

  • Docker Compose を使用
  • Nextcloud + MariaDB の2コンテナ構成
  • 永続化するボリュームを複数定義
  • 初期設定はWeb UIから実施

前提条件

ここ、見直したい。一文もほしいし。

  • DockerおよびDocker Composeがインストール済みであること
  • 任意の作業ディレクトリで構築を行うこと

Dockerのインストールがまだのかたは、以下の記事をご覧ください。

NextCloudをDockerで構築する手順

ここからは、NextCloudをDockerで構築するための実際の手順を解説していきます。

作業ディレクトリの作成

任意のディレクトリに、nextcloud-dockerディレクトリを作成します。

mkdir nextcloud-docker
cd nextcloud-docker

docker-compose.ymlファイルの作成

作成したnextcloud-dockerの中に、docker-compose.yml ファイルを作成して以下の内容を記述しましょう。

version: '3.8'

services:
  db:
    image: mariadb:latest
    container_name: nextcloud_db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: nextcloudpass
    volumes:
      - db_data:/var/lib/mysql

  app:
    image: nextcloud:31.0.4
    container_name: nextcloud_app
    restart: always
    ports:
      - 8080:80
    depends_on:
      - db
    environment:
      MYSQL_HOST: db
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: nextcloudpass
    volumes:
      - nextcloud_data:/var/www/html
      - ./nextcloud/config:/var/www/html/config
      - ./nextcloud/custom_apps:/var/www/html/custom_apps
      - ./nextcloud/themes:/var/www/html/themes

volumes:
  db_data:
  nextcloud_data:

NextCloudの最新バージョンは以下のサイトで調べることができます。

NextCloud公式ページ – Download ページ –
Docker Hub – Releases(Docker 版バージョン) –

H2: コンテナの起動とNextcloudへのアクセス

以下のコマンドでNextCloud環境を起動します。

docker-compose up -d

Webブラウザで http://<ホスト名またはIP>:8080 にアクセスすると、NextCloudの初期セットアップ画面が表示されます。

  • ブラウザで http://サーバーIP:8080/ にアクセス!
  • NextCloudの初期セットアップ画面が表示されれば成功!
  • 管理者アカウントのユーザー名とパスワードを自由に設定し、「インストール」をクリックします

もし、NextCloudが表示されない場合は以下の確認をしてみてください。

  • docker psnextclouddb コンテナが正常に動作しているかを確認
  • ファイアウォールでポート8080が開放されているか(sudo ufw allow 8080
  • サーバーのIPアドレスが正しいか

まとめ:DockerでNextcloudを構築

DockerとMariaDBを使えば、Nextcloudを簡単に立ち上げることができます。
今回紹介した構成では、将来的なエラー対処や速度改善のために必要な設定ファイルを、あらかじめ永続化しておくことで、あとからのカスタマイズにも柔軟に対応できます。

特に以下のポイントは押さえておきたいところです。

  • docker-compose.ymlだけで環境構築が可能
  • MariaDBとの連携も自動で完了
  • 設定ファイル・アプリ・テーマの永続化で柔軟な運用ができる

Nextcloudを本格的に使いこなすには、このあと表示される管理画面の警告やエラーを解消し、速度面もチューニングしていくことが大切です。

  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次