MacでRefBox(まとめ)
MacでRefBox – その2のまとめです.
■準備
まず,gitディレクトリを作って,チームのファイルとrcll-get-startedを取ってきます.
mkdir ~/git cd ~/git git clone https://github.com/babytigers-r/rcll git clone https://github.com/robocup-logistics/rcll-get-started cd rcll-get-started
修正作業の内容をパッチファイルにしましたので,そのパッチを当てます.
パッチの中身の説明は後半に書きます.
patch -p1 < ~/git/rcll/scripts/rcll-get-started_forMac.patch
これで,rcll-get-started のsetup.shが使えるようになります.
ただし,ターミナル上で新たなコマンド(rc_startやrc_stopなど)は使えませんので,必要なコマンドはlocal_setup.sh に書くようにしてください.
cd ~/git/rcll-get-started ./setup.sh
これで,最新のRefBoxをApple Silicon(M1からM4)のMacOS上で動かすことができます.
あと,screenもエラーを吐いていますが,screen -rをすればDockerを動かしているターミナルに接続できます.
停止は,「Ctrl+C」を二回押す必要がありますが,dockerそのものを停止していないので,
実際に止めるには,Docker Desktopのアプリ上で止めてください.
(むしろ,そこで止めないとずっと動いたままになり,再度setup.shを実行したら二重起動になってしまいます)
以下,パッチの中身の解説です.
■削除
compose_files/mongodb.yaml を削除します(←半分力技での対応方法で申し訳ないです)
rm compose_files/mongodb_yaml
■修正
以下の部分を修正します.
・compose_files/refbox.yaml の設定を変更します.
services: の続きにmongodbの設定を追記します.
services: mongodb: container_name: "mongodb" # network_mode: "host" image: ${MONGODB_IMAGE}:${MONGODB_TAG} restart: "no" command: mongod --port ${RC_MONGODB_PORT} volumes: - '${RC_MONGODB_DATA_DIR}:/data:z'
mongodb-check: の部分のnetwork_modeをコメントアウトして,mongodbへの依存性を追記します.
mongodb-check: container_name: mongodb-check image: ${MONGODB_IMAGE}:${MONGODB_TAG} # network_mode: "host" depends_on: - mongodb restart: on-failure:10
refbox: の部分のnetwork_modeをコメントアウトして,ポートの情報を追記します.
refbox: container_name: refbox image: "${REFBOX_IMAGE}:${REFBOX_TAG}" # network_mode: "host" ports: - 1234:1234 depends_on: mongodb-check: condition: service_completed_successfully
・config/refbox/comm/default_comm.yaml の設定を変更します(これは,手元で動かすためなので,Mac関係なく,普段も変更する部分です)
# Do not specify both! public-peer: # host: !ipv4 192.168.122.255 # host: !ipv4 172.26.255.255 host: !ipv4 127.0.0.1 # port: !udp-port 4444 send-port: !udp-port 4444 recv-port: !udp-port 4445 cyan-peer: # host: !ipv4 192.168.122.255 # host: !ipv4 172.26.255.255 host: !ipv4 127.0.0.1 # port: !udp-port 4441 send-port: !udp-port 4441 recv-port: !udp-port 4446 magenta-peer: # host: !ipv4 192.168.122.255 # host: !ipv4 172.26.255.255 host: !ipv4 127.0.0.1 # port: !udp-port 4442 send-port: !udp-port 4442 recv-port: !udp-port 4447
・config/refbox/mongodb/default_mongodb.yaml の設定を変更します.
MONGODBのバージョンを7.0からlatestにしました(7.0でなぜ動かないのかは不明…).
export MONGODB_BACKEND_TAG=latest export MONGODB_TAG=latest
docker-composeコマンドはなくなったので,composeオプションへと変更します(ここのダブルクォーテーションは重要!)
# compose command (change in case you use alternative tools like podman export REFBOX_COMPOSE_COMMAND="docker compose"
コンテナ内のネットワーク名を指定します.
export RC_MONGODB_PORT=27017 export RC_MONGODB_HOST=mongodb export RC_MONGODB_URI=mongodb://${RC_MONGODB_HOST}:${RC_MONGODB_PORT}
これで動くようになるはずです.
コメントを残す