使用MDwiki+CloudRun,轻松托管具有认证的Markdown

要去做的事情

    • ドキュメントをWebで見れるようにする(こんな見た目)

 

    • ページにはBasic認証をつける

 

    • ドキュメントはMarkdownで管理する

 

    • CloudRunでデプロイする(無料枠でそこそこ使えます)

 

    ほんとは個別にIAMを管理したいけど、手っ取り早くやりたい

文件夹结构

只需要准备Dockerfile、index.html和navigation.md这三个文件。

docs/
 ├ markdown/ (ドキュメントはここに入れる)
 │ ├ category_a/ (markdownはカテゴリに分けられる)
 │ │ └ a.md (カテゴリに分けたmdファイル)
 │ └ index.md (トップページのドキュメント)
 ├ Dockerfile (cloudrunに上げるため)
 ├ index.html (MDwiki本体)
 └ navigation.md (ページの構造)

准备三个文件

请复制以下内容到 Dockerfile 中,然后设置用户名和密码。

FROM nginx

# Basic auth
ARG USERNAME=?ユーザ名?
ARG PASSWORD=?パスワード?

# Copy the docs to the nginx root
COPY index.html /usr/share/nginx/html
COPY navigation.md /usr/share/nginx/html
COPY markdown /usr/share/nginx/html

# apply basic auth
RUN apt-get update && apt-get install apache2-utils -y
RUN htpasswd -c -b /etc/nginx/.htpasswd ${USERNAME} ${PASSWORD} && cat /etc/nginx/.htpasswd

# edit nginx config
# add basic auth under http block
RUN sed -i "s|http {|http {\n\tauth_basic \"Restricted Content\";\n\tauth_basic_user_file /etc/nginx/.htpasswd;\n|g" /etc/nginx/nginx.conf

请从以下网址下载MDwiki的index.html文件:https://github.com/Dynalon/mdwiki/releases

请根据以下内容设置导航.md(网站地图)。

# サイトのタイトル
[カテゴリ名]()
- [項目名](category_a/a.md)

部署

只需在包含Dockerfile的目录下运行命令上传至Cloud Run即可完成。
※如果您没有安装gcloud CLI,请参考此链接进行安装。

cd docs
gcloud run deploy docs --source . --project ?プロジェクト名? --region asia-northeast1 --allow-unauthenticated --port 80 --memory 128Mi --max-instances=50 --cpu 1

这就是全部了。

广告
将在 10 秒后关闭
bannerAds