4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

お題は不問!Qiita Engineer Festa 2023で記事投稿!

Qiita CLIをDockerコンテナ化してみた!

Last updated at Posted at 2023-07-18

目的

どこでも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

ホストの8888ポートにアクセス
すごい!
image.png

準備

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"]

参考文献

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?