1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【まとめ】CKANをDockerで構築するための手順をまとめてみた!

Posted at

CKAN CkanExtension

どうも皆様、こんにちは!
今回はオープンデータを公開するために使われているCKANを触ってみたので、ご紹介しようと思います!

CKANとは・・・?

CKANとはデータのハブやポータルをサポートするためのオープンソースのDMS(Data Management System)です。CKANは世界中にある何百ものポータルにおいて、データの配布・共有・活用をより簡単に行えるようにすることが出来ます。(CKANホームページ訳)

今、流行りのデータ連携基盤で活用するオープンデータの配布に一役買っているOSSになります。

CKANを使ってみよう

CKAN公式のドキュメントを参考に実際にやっていってみます!

利用した技術

  • Docker
    • 今回はローカルの環境を汚さないために利用します
  • Python(2.7 , ^3.6)
    • CKANがサポートしている言語になります
    • 今後はPython3系のみのサポートに切り替わる
    • Python3.9以降はまだバグ等が残っているが将来的にはサポートする予定

ダウンロード

まずは任意のディレクトリにて以下のコマンドを入力し、CKANのCloneを作成します。

git clone https://github.com/ckan/ckan.git

その後、任意のCKANバージョンに切り替えます。
今回は最新の2.9.7を使っていきます!

  1. CKANのディレクトリに移動

    cd ckan
    
  2. バージョンの切り替え

    git checkout tags/ckan-2.9.7
    

コンテナの立ち上げ

以下のコマンドでCKANのコンテナ群を立ち上げます。

  1. docker-compose.ymlのあるディレクトリに移動

    cd contrib/docker
    
  2. docker composeでコンテナの立ち上げ

    docker compose up -d --build
    

※CKANのコンテナがうまく立ち上がらない場合は以下のコマンドで再起動をしてください。

docker-compose restart ckan

便利なパスの登録

こちらの登録をしておくと、開発をする際に便利かもしれません。

export VOL_CKAN_HOME=`docker volume inspect docker_ckan_home | jq -r -c '.[] | .Mountpoint'`
export VOL_CKAN_CONFIG=`docker volume inspect docker_ckan_config | jq -r -c '.[] | .Mountpoint'`
export VOL_CKAN_STORAGE=`docker volume inspect docker_ckan_storage | jq -r -c '.[] | .Mountpoint'`

Datastoreとdatapusher

Datastoreとdatapusherを有効にする際には事前に設定が必要になります。

  1. 以下のコマンドを実行します

    docker exec ckan /usr/local/bin/ckan -c /etc/ckan/production.ini datastore set-permissions | docker exec -i db psql -U ckan
    
  2. production.iniを開く

    コンテナ内に入る

    docker exec -it ckan bash
    

    production.iniファイルをvimで開く

    vim /etc/ckan/production.ini
    
  3. production.iniを編集する

    datastoredatapusherを追加

    ckan.plugins = stats ・・・recline_view datastore datapusher
    

    コメントアウトを解除

    ## Datapusher settings
    
    # Make sure you have set up the DataStore
    
    ckan.datapusher.formats = csv xls xlsx tsv application/csv application/vnd.ms-excel application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
    #ckan.datapusher.url = http://127.0.0.1:8800/
    #ckan.datapusher.assume_task_stale_after = 3600
    
  4. CKANコンテナを再起動

    docker-compose restart ckan
    

管理者ユーザーを登録

以下のコマンドを実行して管理者ユーザーを作成しておきます。(名前は任意)

docker exec -it ckan /usr/local/bin/ckan -c /etc/ckan/production.ini sysadmin add johndoe

これにより登録した名前とパスワードでログインをすることができます。

CKANへアクセス

以下のURLへアクセスできるようになります。

http://localhost:5000

まとめ

いかがでしたでしょうか?
今回の手順に従えば、案外簡単にできたのではないでしょうか?

次回はCKANの拡張機能の開発について記事を書きたいと思います!
公開までお待ちください!
CKANの拡張機能開発(公開予定)

実際にチュートリアルをやってみて、
公式のドキュメントだけでは詰まってしまう場所がいくつかありました。
この記事が皆様のお役に立てることを願います。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?