Potewoのブログ

電子工作が好きな学生の書く技術系のブログです。

Raspberry Pi 3BにDockerを使ってOctoprintをインストールする

Raspberry Pi 3Bに直接ではなくDockerを通してOctoprintをインストールする方法です。
これは暫定なので、これよりも良い方法があるかもしれません。

環境

インストール、起動

github.com ↑参考

docker volume create octoprint
docker run -d -v octoprint:/octoprint --device /dev/ttyUSB0:/dev/ttyUSB0 --device /dev/video0:/dev/video0 --restart=always -e ENABLE_MJPG_STREAMER=true -p 5000:80 --name octoprint octoprint/octoprint

これはカメラをつける場合で、カメラをつけない場合は--device /dev/video0:/dev/video0を消し、-e ENABLE_MJPG_STREAMER=true-e ENABLE_MJPG_STREAMER=falseにします。
ポート番号を5000にしていますが、それはお好みで決めてください。
--restart=alwaysをつけることでRaspberry Piを再起動してもコンテナが自動で立ち上がるようにしています。

接続

上の場合は5000番につないでいるのでラズベリーパイのIPアドレス:5000をブラウザに入力し、接続します。
あとは流れにそってOctoprintの設定を進めていきます。

後からUSBデバイスを変更する場合

はじめはカメラをつけていなかったけど、あとからカメラをつける場合はまず今のコンテナのイメージを作成します。

docker commit octoprint my-octoprint

octoprintの名前でコンテナが作成されているはずなのでそれをmy-octoprintの名前でイメージを作成します。

次に、上のdocker runの最後を変更し以下のようにします。

docker run -d -v octoprint:/octoprint --device /dev/ttyUSB0:/dev/ttyUSB0 --device /dev/video0:/dev/video0 --restart=always -e ENABLE_MJPG_STREAMER=true -p 5000:80 --name octoprint my-octoprint

すると設定などを引き継いだままカメラを追加することができます。