みかづきメモ

プログラミング学習帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ

microblog.pub インスタンスを建てたい

microblog.pub の API ラッパーを作ろうと思ってインスタンスを建てようと思ったのだけど、
README.md 通りにやっても建ちあがらないので、構築方法のメモ。


ちなみに microblog.pub はこれです。

github.com

お一人様インスタンスという感じ。

環境は

  • CentOS 7
  • Docker 18.09.0
  • Docker Compose 1.23.1
  • Python 2.7.5
  • microblog.pub 2018/11/23 時点の master

Docker やらのインストール部分は公式ドキュメントにあるので、省略します。

まずは、 microblog.pub リポジトリを clone します。

[mikazuki@mbp srv]$ git clone https://github.com/tsileo/microblog.pub.git ./microblog.pub/
Cloning into './microblog.pub'...
remote: Enumerating objects: 1630, done.
remote: Total 1630 (delta 0), reused 0 (delta 0), pack-reused 1630
Receiving objects: 100% (1630/1630), 346.27 KiB | 0 bytes/s, done.
Resolving deltas: 100% (1087/1087), done.

clone が終わったら、依存関係をインストールする。
もしかしたらいらないかも?

[mikazuki@mbp microblog.pub]$ pip install -r requirements.txt --user

config を作成する

[mikazuki@mbp microblog.pub]$ cp -r config/me.sample.yml config/me.yml
[mikazuki@mbp microblog.pub]$ make password
python -c "import bcrypt; from getpass import getpass; print(bcrypt.hashpw(getpass().encode('utf-8'), bcrypt.gensalt()).decode('utf-8'))"
Password: 
ENCRYPTED_PASSWORD
[mikazuki@mbp microblog.pub]$ vim config/me.yml

ENCRYPTED_PASSWORD を、 config/me.yml の最後に pass: 'ENCRYPTED_PASSWORD' と追加しておけば OK。
他の設定はお好みで変更しておく。

次に、 Docker Container を作成する。
Makefile にそれ用の記述があるので、そのタスクを実行する。

[mikazuki@mbp microblog.pub]$ make update

作成ついでに起動までしてくれるので、次は nginx をインストールする。
nginx のインストールについても、公式ドキュメントを見ればいい話なので省略。

/etc/nginx/conf.d/microblog.example.com.conf を下記のように作成しておく。

server {
    listen       443 ssl http2;
    listen       [::]:443 ssl http2;
    server_name  microblog.example.com; 

    location / {
        proxy_pass http://localhost:5005;
    }

    # SSL 設定いれてね
}

この状態で、 https://microblog.example.com に接続すれば、 microblog.pub に接続できるようになります。

f:id:MikazukiFuyuno:20181123032646p:plain:w400

お疲れ様でした \\٩( 'ω' )و //