使用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
这就是全部了。