LoginSignup
4
3

More than 5 years have passed since last update.

Humhub(オープンソースSocial Network Kit)をdocker-composeでセットアップ

Last updated at Posted at 2019-04-15

TL;DR

  • オープンソースSNSキット Humhub をdockerで稼働させる方法を紹介します
    • humhub-docker-composeを作りましたので,こちらを使用すると簡単です
      • humhubを利用したAPIを使いたいので,開発版(githubのリポジトリ)と公式版(リリースバージョン)の両方でコンテナを立ち上げられるようにしています

Humhub概要

  • 柔軟なSNSキットです.Facebookのようなサイトを作ることができます
    • 各種プラグインが提供されています
    • オープンソースなのでカスタマイズも比較的容易です
    • PHPベースなので(好き嫌いはあるものの),phpのライブラリなどで拡張できます

構成

  • docker-composeで,下図の2つのコンテナを立ち上げます
    • app: Humhub本体
    • db: MariaDB

humhub-compose.png

  • Humhub: 80/TCPを受け付けます.外部公開の際にはリバースプロキシなどで適切なセキュリティ保全を行ってください.
  • MariaDB: 3306/TCPでアクセスを受け付けます.dockerネットワークからの接続のみを受け付けます

使い方

  • 2種類のdocker-compose.ymlを用意しています
    • 開発版(Humhub-githubからgit cloneする)のdocker-compose-dev.yml
    • 公式版(Humhubからダウンロードするtar.gz)のdocker-compose-rel.yml
  • 開発版は,公式版には含まれているphpライブラリをcomposerでダウンロードする必要があるので,phpのDockerfile(docker-compose.yml内部でビルド時に使用する)の記述が異なります
    • php/Dockerfile.devとphp/Dockerfile.phpの2種類があります

公式版

  • docker-compose.ymlリポジトリをgithubからダウンロードします
  • Humhubから,最新のコミュニティエディションをダウンロードします
  • リポジトリ内にhumhubディレクトリを作り,その中にダウンロードしたファイルを展開します
  • docker-compose-rel.ymlを指定してdocker-composeコマンドを実行します
git clone https://github.com/myoshimi/humhub-docker-compose
cd humhub-docker-compose
mkdir humhub
tar xzvf <Download Directory>/humhub-X.Y.Z.tar.gz \
  -C <path to humhub-docker-compose>/humhub --strip=1

docker-compose -f docker-compose-rel build
docker-compose -f docker-compose-rel up -d

github版

  • githubリポジトリからhumhub-docker-composeをgit cloneします
  • humhub-docker-composeディレクトリ内で,humhubをgit cloneします
  • docker-compose-dev.ymlを指定してdocker-composeコマンドを実行します
git clone https://github.com/myoshimi/humhub-docker-compose
cd humhub-docker-compose
git clone https://github.com/humhub/humhub

docker-compose -f docker-compose-dev build
docker-compose -f docker-compose-dev up -d
  • 初回はcomposerコンテナがライブラリのインストールを終了するまで,数分時間がかかります.
    • docker ps -aで,humhub-docker-compose_composer_1がExited状態になれば,稼働しています.

不揮発ボリューム

  • humhub-docker-composeディレクトリ直下に,volumes/dbが作られます
    • MariaDBのデータ(/var/lib/mysql)が格納されます
  • humhubディレクトリは,appコンテナがマウント(/var/www/html)します

参考

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3