nomlab / camome

CAMOME MOtivates ME
1 stars 11 forks source link

Redisサーバ,goohub,camome,およびcamomeのデータベースをそれぞれ別コンテナとして立ち上げる #54

Open kanzawa2 opened 7 years ago

kanzawa2 commented 7 years ago

Created from AI0386 of minute 474.

kanzawa2 commented 7 years ago

現状報告

現在,Dockerfileにgit clone を記述することにより,コンテナ内でcamomeをgit cloneによりダウンロードしようとしている. camomeの動作には,config以下に,application_settings.ymlとsecrets.ymlが必要となる.しかし,gitHubにはこれらのファイルがなく,テンプレートである,application_settings_sample.ymlとsecrets-example.ymlしか存在しない.このため,camomeコンテナをbuildした後でコンテナ内に,必要となる2つのファイルを作成し,編集する必要がある. しかし,これを行おうとcamomeコンテナを立ち上げると," Switch to inspect mode"と表示され,すぐにコンテナが落ちてしまう.

Ryota0312 commented 7 years ago

redisサーバ,goohub,camome,およびcamomeのデータベースをそれぞれ別コンテナとして立ち上げた.

手順

各コンテナを docker-compose を用いて立ち上げる手順を示す.ここでは camome と goohub のイメージが手元に存在していることを前提とする.

  1. docker-compose.ymlを以下のように作成する.

    version: '3'
    services:    
    db:
    container_name: db
    image: postgres
    expose:
      - "5432"
    
    web:
    container_name: camome
    image: camome
    command: bundle exec rails s -p 3000 -b 0.0.0.0
    ports:
      - "3000:3000"
    links:
      - redis
      - db
    
    redis:
    container_name: redis
    image: redis
    
    goohub:
    container_name: goohub
    image: goohub
    links:
      - redis
      - web
    volumes:
      - ./goohub:$HOME/.config/goohub
  2. camomeのデータベースを初期化する.

    $ docker-compose run web rake db:create db:migrate db:seed
  3. goohub とそれにリンクされているコンテナを立ち上げ goohub を bash で操作する.

    $ docker-compose run goohub bash
  4. goohub の bash で goohub の初期化と Google カレンダの認証を行う.

    $ goohub init
    $ goohub auth
  5. event を redis に保存する.

    $ goohub event CALENDAR_ID START_MONTH --output=redis:redis
  6. camome のカレンダから redis に保存されているイベントを表示できることを確認する.

今後の課題