以 docker compose
为例,部署weblln
到容器环境。请参考该示例部署到其他容器环境。
:80
,:443
,127.0.0.1:2379
,127.0.0.1:8876
端口,请保证未被占用。docker
最新版本,或兼容的containerd
+ nerdctl
环境。A
记录域名。https://accounts.google.com
解析节点的公网IPv4
地址到域名,并开放防火墙的80
,443
端口。后面会由Caddy
自动申请https
证书。
下载weblln
示例compose.yml
文件,修改其中的一些配置。
可从 https://github.com/rkonfj/weblln/blob/main/compose.yml 下载。
至少要修改OIDC_GOOGLE_CLIENT_ID
,OIDC_GOOGLE_CLIENT_SECRET
,OIDC_GOOGLE_REDIRECT
和 LLN_DOMAIN
等 4 个环境变量。
前 3 个环境变量是使用 Google 账号登录的关键,可以到 Google Developer Console 申请。
(参考 https://lowlevelnews.com/rkonfj/status/2u7pGuJjrQWmtrY6n )。
LLN_DOMAIN
是你的站点域名。
lln:
...
container_name: lln
environment:
OIDC_GOOGLE_CLIENT_ID: xxx
OIDC_GOOGLE_CLIENT_SECRET: xxx
OIDC_GOOGLE_REDIRECT: xxx
command: -c /etc/lln.yml
...
weblln:
...
container_name: weblln
environment:
LLN_DOMAIN: open.lowlevelnews.com
network_mode: host
...
以上 2 个步骤准备就绪后,使用docker compose
运行etcd
,lln
,caddy
3 个进程。浏览器访问你的域名开始体验。
使用caddy
扮演weblln
静态网站服务器和反向代理lln
服务器。该示例部署了一个etcd
和lln
实例,这两者均可以部署多个实例以提高api
可用性,数据安全性和整体性能。