Narou.rb を Docker で実行するための Docker Image です。
Docker さえあれば一切環境構築なしで Narou.rb WEB UI を立ち上げることができます。
Narou.rb 作者製のdockerfileをforkしてカスタマイズしています。
イメージ内容は下記で構成されます。
- Alpine Linux
- Ruby 3.0
- 改造版AozoraEpub3
docker コマンドで直接コンテナを立ち上げます。
コマンドが長いのでエイリアスを切ったりしましょう。
後述する docker-compose でやったほうが正直楽です。
コマンドを実行したフォルダが小説管理用のフォルダになるので移動しておきます。
$ mkdir ~/novel && cd $_
$ docker run --rm -it -p 127.0.0.1:33000-33001:33000-33001 -v $(pwd):/novel:cached whiteleaf/narou
docker から始まるコマンド1行で WEB UI が起動します。
http://localhost:33000/ にアクセスしてください。
ポートを変える場合、前半部分の 33000-33001 部分を変更するだけでOKです。
例えば 8000 ポートに変える場合は -p 127.0.0.1:8000-8001:33000-33001 と
指定してください(websocket 用のポートのために +1 したポートも併記する必要があります)
docker-compose のほうが楽なので、こちらを推奨します。
ただし、設定ファイルを1つ用意する必要があります。
コマンドを実行したフォルダが小説管理用のフォルダになるので移動しておきます。
$ mkdir ~/novel && cd $_
下記の内容を docker-compose.yml という名前でを同じフォルダに用意します。
version: "3.7"
services:
app:
image: whiteleaf/narou
command: ["narou", "web", "-np", "33000"]
volumes:
- .:/novel:cached
tty: true
stdin_open: true
ports:
- "127.0.0.1:33000-33001:33000-33001"
ファイルを用意したら下記コマンドを打ちます。
$ docker-compose up
自動的に WEB UI が起動します。
http://localhost:33000/ にアクセスしてください。
ポートを変える場合は docker コマンドと同様に ports の項の前半部分を変更してください。
$ docker pull whiteleaf/narou
更新がある場合、上記コマンドで環境を最新にできます
$ docker run --rm -it -v $(pwd):/novel:cached whiteleaf/narou narou list
docker-compose run --rm app narou list
おまけ
dip を使うと便利です
dip.yml として下記を用意して、
version: "4"
interaction:
narou:
description: Run narou command
service: app
command: narou
$ dip narou list
# docker-compose up と同じ
$ dip up
# 下記を実行すると、narou コマンドを透過的に実行出来る様になる
$ eval "$(dip console)"
$ narou list