何かと話題なMastodonをDebianonDockerで動かしてみたメモ
本ページはアフィリエイトプログラムによる収益を得ています。
CentOSなメインサーバで動かそうと試みてみたもののAdmin周りがいまいちうまいこと行かないので
Debianに登場願ってみる。
Jessie 8.0を適当にインスト―ル
Index of /debian-cd/current/amd64/bt-cd
Docker環境を作る。
Get Docker for Debian – Docker Documentation
DokerEEは非対応でDockerCEになるらしい。
apt-get install apt-transport-https ca-certificates curl software-properties-common
ドッカーの公式GPGキーを追加:
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
キーIDが9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
あることを確認します。 apt-key fingerprint 0EBFCD88 /etc/apt/trusted.gpg -------------------- pub 4096R/0EBFCD88 2017-02-22 Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid Docker Release (CE deb) <docker@docker.com> sub 4096R/F273FCD8 2017-02-22
リポジトリ追加
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
DOCKER CEをインストールする
apt
パッケージインデックスを更新します。$ sudo apt-get update
- Dockerの最新バージョンをインストールするか、次のステップに進んで特定のバージョンをインストールしてください。Dockerの既存のインストールはすべて置き換えられます。このコマンドを使用して、Dockerの最新バージョンをインストールします。
$ sudo apt-get install docker-ce
インストール完了
Setting up libnih1 (1.0.3-4.3) ... Setting up libnih-dbus1 (1.0.3-4.3) ... Setting up mountall (2.54) ... Setting up aufs-tools (1:3.2+20130722-1.1) ... Setting up cgroupfs-mount (1.1) ... Setting up libapparmor1:amd64 (2.9.0-3) ... Setting up docker-ce (17.03.1~ce-0~debian-jessie) ... Setting up liberror-perl (0.17-1.1) ... Setting up git-man (1:2.1.4-2.1+deb8u2) ... Setting up git (1:2.1.4-2.1+deb8u2) ... Setting up rsync (3.1.1-3) ... Processing triggers for systemd (215-17+deb8u6) ... Processing triggers for initramfs-tools (0.120+deb8u2) ... update-initramfs: Generating /boot/initrd.img-3.16.0-4-amd64 Processing triggers for libc-bin (2.19-18+deb8u7) ... Processing triggers for dbus (1.8.22-0+deb8u1) ...
Docker Composeのインストール
curl -L https://github.com/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
バージョン確認
docker-compose –version
docker-compose version 1.12.0, build b31ff33
1.10以上である必要性あり
Mastodonを持ってくる
git clone https://github.com/tootsuite/mastodon
cd mastodon
sudo docker-compose build
vi docker-compose.yml
- DBのとこを触る
volumes:
- ./postgres:/var/lib/postgresql/data
volumes:
- ./redis:/data
docker-compose run --rm web rails assets:precompile
DB初期化
docker-compose run --rm web rails db:migrate 起動確認 docker-compose up
よしなにメール送信設定。
.sparkpost.comを使う場合ドメインでメールを受信できる必要がある。
管理者アカウント設定
Readmeを読んでると Dockerにログインして云々書いていたけど
docker-composeを使う場合作法が異なる
db_1にではなくweb_1へコマンドを送る必要がある。
ダメパターン
sudo docker exec -it mastodon_db_1 /bin/bash
bash-4.3# RAILS_ENV=production bundle exec rails mastodon:make_admin USERNAME=hogehoge bash: bundle: command not found
探していたもの
docker-compose run --rm web rails mastodon:make_admin USERNAME=hogehoge