#kuma
kuma
を local
で動かすための環境を作る。基本的には公式にある下記通りに進めていくが、そのままやってると一箇所動かないところがあるので注意が必要。 kuma
は docker
が必要なので docker
は先に入れておく。
Installation — Kuma Documentation
$ mkdir mdn # 適当なプロジェクトディレクトリを作る
$ cd mdn
$ git clone --recursive git@github.com:mozilla/kuma.git
$ cd kuma
$ docker-compose pull
$ docker-compose build
環境変数のファイルをコピー。もし Linux
を使っているなら、UID
のコメントアウトを外す必要があるみたいだが、僕は Mac
なのでとりあえず編集はしなくて良い。
$ cp .env-dist.dev .env
docker
イメージを準備する。
$ docker-compose pull
$ docker-compose build
立ち上げる。
$ docker-compose up -d
サンプルのデータベースを作る。 wget
コマンドが無ければ homebrew
で入れてもいいし、curl
でも良い。
$ wget -N https://mdn-downloads.s3-us-west-2.amazonaws.com/mdn_sample_db.sql.gz
$ docker exec -i kuma_web_1 bash -c "zcat | ./manage.py dbshell" < mdn_sample_db.sql.gz
各言語用の環境を作る。
$ docker exec -i kuma_web_1 make localecompile
静的アセットを作成する。
$ docker exec -i kuma_web_1 make build-static
ドキュメントではここで http://localhost:8000 にアクセス!って書いてあるが、500エラーになる。エラーを見ると下記のエラーが出ている。
OperationalError: (1054, "Unknown column 'auth_user.is_github_url_public' in 'field list'")
Bugzilla@Mozilla にバグが報告されていて、既に修正されているみたい。
1360294 - Add ability for users to hide github link from their public profile
修正されている migration
ファイルがあるので、 migrate
を叩く。
$ docker exec -it kuma_web_1 ./manage.py migrate
これで http://localhost:8000 にアクセスすれば表示できるはず。
$ npm install
これでフロントエンドの環境も整ったはず。
必要に応じて質問に答える。
$ docker exec -it kuma_web_1 ./manage.py createsuperuser
$ docker-compose run --rm web ./manage.py ihavepower YOUR_USERNAME --password YOUR_PASSWORD
編集やらログインしないとできないものを触りたい場合は、 GitHub Auth
の設定をする必要がある。基本的には上記のドキュメントの通りここで下記の情報を埋めればできる。
key | value |
---|---|
Application name | MDN Development for (username). |
Homepage URL | http://localhost:8000/ |
Application description | My own GitHub app for MDN! |
Authorization callback URL | http://localhost:8000/users/github/login/callback/ |
次にここで Django
側でも設定する。下記の情報を入れる。
key | value |
---|---|
Provider | GitHub |
Name | MDN Development |
Client id | 上で GitHub に登録したあとに表示されてる Client id |
Secret key | 上で GitHub に登録したあとに表示されてる Secret key |
Site | Available sites にある http://localhost:8000/ を Chosen sites に移動する |
これで GitHub
にログインしてできるはず。