TL;DR
- オープンソースSNSキット Humhub をdockerで稼働させる方法を紹介します
-
humhub-docker-composeを作りましたので,こちらを使用すると簡単です
- humhubを利用したAPIを使いたいので,開発版(githubのリポジトリ)と公式版(リリースバージョン)の両方でコンテナを立ち上げられるようにしています
-
humhub-docker-composeを作りましたので,こちらを使用すると簡単です
Humhub概要
- 柔軟なSNSキットです.Facebookのようなサイトを作ることができます
構成
- docker-composeで,下図の2つのコンテナを立ち上げます
- app: Humhub本体
- db: MariaDB
- 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
)が格納されます
- MariaDBのデータ(
-
humhub
ディレクトリは,appコンテナがマウント(/var/www/html
)します