macOSのDockerで「Nextcloud+mysql」を個人サーバーで運用する方法を紹介します。
NextcloudをmacのDocker上で構築する方法
過去の記事で仮想環境プラットフォーム「Docker」をmacOSで使用できるDocker Desktop for macのインストール方法を紹介しました。今回は、NextcloudをDockerでインストールする方法を紹介致しました。
Nextcloudの利用方法に関しては以下の記事をご参照下さい。
MacOS上で利用する仮想環境プラットフォーム「Docker Desktop for mac」 インストール方法の紹介は、以下の記事をご参照下さい。
本記事では、Dockerを利用して「Nextcloud」をmac上で構築する方法を示します。
- Docker Desktop for mac (M1チップ搭載macOS Monterey memory 16GB)
バージョン 20.21 - Nextcloud
バージョン 25.0.1 - mySQL
バージョン 5.7
mySQLとnextcloudのイメージのダウンロード
以下のDockerの公式イメージからmysqlとnextcloudのイメージをダウンロードします。
macOSのターミナル上から以下のdocker pullコマンドを実行して、Dockerのイメージをダウンロードできます。
docker pull mysql
docker pull next cloud
次に、doker-compose用の定義ファイルを作成します。
version: '2'
volumes:
mysql:
app:
services:
mysql:
restart: always
hostname: mysql_db
image: mysql
platform: linux/arm64/v8
container_name: mysql-container
command:
--transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
ports:
- 3306:3306
volumes:
- mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD:rootpass
- MYSQL_PASSWORD:pass
- MYSQL_DATABASE:nextcloud
- MYSQL_USER:nextcloud
- TZ:Asia/Tokyo
app:
restart: always
hostname: nextcloud_app
container_name: nextcloud-app
image: nextcloud
volumes:
- app:/var/www/html
ports:
- 12345:80
links:
- mysql
設定ファイルを記載したら、
% docker-compose up -d
を行ってみて下さい。エラーがでなければそのまま起動します。
コマンドで気をつけるポイントは、各コマンドの前にいくつ空白スペースを入れるかです。数が間違えたりするとエラー等ができます。スペースの数は偶数2, 4, 6にするのが最も安全です。
空白のスペースを間違えたり、入力の文字を間違えたり、コマンド間違いでいかのようなエラーがでてきます。
- services.mysql.environment must be a mapping (空白の入れ間違い)
- services.mysql.environment.# must be a string (入力の英数字・英文字の間違い)
- yaml: line #: mapping values are not allowed in this context (コマンド間違い)
大体は、ymlファイルのタイプ時に発生するスペースのエラーが多いと思います。
services.mysql Additional property (volume名) is not allowed
といったvolumeID 名(上の例では「app」など)の設定ファイル内の記述間違い等でもエラーが発生します。
最終的に、以下のようにコマンドを入力後に起動できればコンテナUP完了です。
% docker-compose up -d
[+] Running 3/3
⠿ Volume "tomitatakahiro_app" Created 0.0s
⠿ Container nextcloud-app Started 0.3s
⠿ Container mysql-container Started
その後、適当なSafariなどのブラウザ上のURLへ「http://localhost:12345」を入力すると以下のようにNextcloudが起動します。
注意:ここでこのままインストールボタンを押してしまうとSQLite3のデータベース仕様でインストールが始まってしまいます。
画面真ん中に「ストレージとデータベース」と書かれた欄があります。
こちらクリックしてMySQLのデータベース設定を入力しインストールします。
ここでは以下のように設定されているため、入力も同様に行います。
- MYSQL_ROOT_PASSWORD:rootpass
- MYSQL_PASSWIRD:pass
- MYSQL_DATABASE:nextcloud
- MYSQL_USER:nextcloud
まとめ
本記事のまとめは、
コメント