Docker Compose を用いて Nextcloud を構築する

Nextcloud

ownCloud の後継というか Fork というかのクラウドストレージアプリケーションです。

Docker Compose で構築する

Nextcloud を Docker を用いて構築します。Docker Compose を用いると凄まじく楽なのでこれを用います。

docker-compose.yml を作成する

私が作成した docker-compose.yml は以下のとおりです。基本的には リポジトリ に書いてあるとおりです。

version: '2'

services:
  db:
    restart: always
    container_name: my-nextcloud-db
    hostname: my_nextcloud_db
    image: mariadb
    volumes:
      - ./db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=MY_PASSWORD
      - MYSQL_PASSWORD=MY_PASSWORD
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  app:
    restart: always
    container_name: my-nextcloud-app
    hostname: my_nextcloud_app
    image: nextcloud
    volumes:
      - ./app:/var/www/html
    ports:
      - 12345:80
    links:
      - db

オフィシャルの docker-compose.yml と異なる点

上記の docker-compose.ymlオフィシャル とは以下の点で異なります。

  • volumesdocker-compose.yml と同じ場所に作った
    • アプリケーションおよびデータベースの具体的なファイルをすぐに見られる場所に置きました
  • container_namehostname を付与した
    • ランダムな名前が嫌なので……

起動する

あとは docker-compose up するだけです。

$ docker-compose up -d

初期設定

MariaDB を一緒に起動しているので、データベースにはもちろん MariaDB を用いるように初期設定を行います。注意する点はデータベースのアドレスの指定部分で db:3306 と明示的に指定してあげる点です。

f:id:gregminster:20180918163951p:plain

上記が正しく指定できていればログインできたかと思います。

Powered by はてなブログ