目的
どこでもQiitaの記事を編集するべくDockerを用いてQiita CLIの環境を構築する事を目的とする
TL;DL
FROM ubuntu:20.04
RUN apt-get -y update && apt-get -y install git nano vim curl
RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - && apt-get install -y nodejs
RUN mkdir -p /etc/qiita
WORKDIR /etc/qiita
RUN npm install @qiita/qiita-cli --save-dev
RUN npx qiita version
RUN npm install @qiita/qiita-cli@latest
RUN npx qiita init
RUN sed -e "s/localhost/qiita/g" -i /etc/qiita/node_modules/@qiita/qiita-cli/dist/server/app.js
RUN echo "____YOUR___Qiita___TOKEN___" | npx qiita login
ENTRYPOINT ["npx","qiita","preview"]
docker-compose.yml
version: '3'
services:
qiita:
container_name: qiita
build:
context: .
dockerfile: Dockerfile
ports:
- 8888:8888
restart: always
volumes:
- ./qiita/:/etc/qiita/public/
environment:
TZ: Asia/Tokyo
起動
root@shoma:/home/shoma/qiita# docker-compose up
qiita is up-to-date
Attaching to qiita
qiita | Preview: http://qiita:8888
準備
qiitaのTokenは以下URLから取得する事が出来る
設定 > アプリーケーション > 個人用アクセストークン
からトークンを発行。
トークンの権限には「read_qiita」と「write_qiita」を設定。
解説
ベースイメージにはubuntuを使用。後は必要そうなものをインストール
FROM ubuntu:20.04
RUN apt-get -y update && apt-get -y install git nano vim curl
nodejs環境の構築
RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - && apt-get install -y nodejs
workディレクトリ作成・指定
RUN mkdir -p /etc/qiita
WORKDIR /etc/qiita
qiita-cliのインストール
RUN npm install @qiita/qiita-cli --save-dev
RUN npx qiita version
RUN npm install @qiita/qiita-cli@latest
RUN npx qiita init
qiita-cliはデフォルトでlocalhostのみの公開となっているため、コンテナ名で名前解決することによって外部に公開。この設定を入れる事で、docker-composeのポートフォワーディングを用いる事でアクセス出来る様になる。
RUN sed -e "s/localhost/qiita/g" -i /etc/qiita/node_modules/@qiita/qiita-cli/dist/server/app.js
Tokenの設定
RUN echo "____YOUR___Qiita___TOKEN___" | npx qiita login
コンテナ起動時にpreview機能の実行
ENTRYPOINT ["npx","qiita","preview"]
参考文献