mastodon 是個最近突然爆紅的去中心化的 twitter clone。
mastodon 概念上類似 mail server:每個人都能架設他自己的 instance,每個 instance 之間都能互相溝通,使用者可以跨 instance follow、reply、reblog… 等等。
以下是架設 g0v.social (v1.1.2)過程的筆記:
update: 我已不再用 docker-compose 設定 production 環境。細節請參考 https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Production-guide.md
取得 SSL certificate
參考 let’s encrypt.tw 的詳盡說明。
安裝 nginx、docker、docker-compose
根據你用的 linux distro,參考對應的文件:nginx, docker, docker-compose
取得 mastodon 最新的 release 版本
$ git clone git@github.com:tootsuite/mastodon.git
$ cd mastodon
$ git fetch --all --tags --prune
$ git checkout tags/v1.2 -b v1.2 # 目前的最新版本是 v1.2
設定 nginx.conf
參考以下範例,其中 <YOUR DOMAIN NAME>
, <YOUR CERTIFICATE PATH>
, 與 <YOUR MASTODON PATH>
請自行代換。
填入你的設定值後,啟動 nginx
$ nginx -c /PATH/TO/nginx.conf
啟動 mastodon
到你下載的 mastodon 路徑下建立設定檔:
$ cp .env.production.sample .env.production
修改 docker-compose.yml,打開 DB/Redis persistence
建立 docker image:
$ docker-compose build
打開 .env.production
,填上:
LOCAL_DOMAIN
: 你的 domainLOCAL_HTTPS
:true
PAPER_CLIP_SECRET
,SECRET_KEY_BASE
,OTP_SECRET
:執行 `docker-compose run --rm web rake secret
三次,取得三個secret-key
後分別填在三個欄位內SMTP_*
: 註冊 mailgun 後將對應的設定值填過來
最後:
$ docker-compose up
連上你的 domain,應該就能看到登入畫面了。
其他
參考 Production Guide。