This commit is contained in:
2026-08-09 18:39:06 +08:00
commit 62515589ae
3 changed files with 121 additions and 0 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

@@ -0,0 +1,121 @@
# 如何搭建web版本obsidian
## 背景
最近大神开源了一个 ignis 项目,可以通过网页访问 obsidian,但是默认是 http,且无密码,对于公网无法安全使用。
下面这个方案完善了安全访问,采用了加密的 https,并且有需要用户名登陆才能访问。
## 具体步骤
### 申请一个免费的域名,比如 ob.xxxx.cc
[搞一个免费 10 年的二级域名,公网访问飞牛 NAS](https://mp.weixin.qq.com/s?__biz=MzI2MTA5NzM5MA==&mid=2247499770&idx=1&sn=a5a1a3d78f3d729a45aa44204bb02694&scene=21&poc_token=HJpGeGqjYSRgiB6T6FdBh23s-6Fcjn90eBjF5E-6)
### 通过反向代理 caddy,通过 https 访问 web 版本 obsidian
1. 创建 4 个文件目录
- vaults
- data
- obsidian-app
- caddy-data
2. 建立一个 caddyfile.txt 文件放到 caddy-data 目录
caddy 文件内容如下,注意:
- ob.xxxx.cc 要改成自己的域名
- localhost 要改成自己服务器的 IP
- 默认用户名:Bob
- 默认密码:hiccup
```yml
# 全局选项
{
# 全局使用alidns
acme_dns alidns {
access_key_id LTAI5tQfd6bBCHDR7HUjpWQR
access_key_secret b74sGYcTuwcvfiiQpTZtNWp5gCAQds
}
# 使用dnspod token
# acme_dns dnspod 37456,ejbe9tb5tiasjz2yu5u688vrwegpm
# 使用cloudflare api token
# acme_dns cloudflare v3ipam6idiwcmfub4iee4yjqyvykx
# 储存目录默认映射
storage file_system /data/cert
# 注意storage目录文件默认权限不允许其他人访问
# 如果需要被其他程序访问,可以自己手动chmod -R
# 关闭http自动重定向,可避免出现80端口占用问题(可手动加重定向配置)
auto_https disable_redirects
# 尝试申请Google CA
# 你需要到Google获取eab key来使用,详见:https://pki.goog/
# eab key仅仅是使用这个服务的权限与域名无关,不管是哪个账号申请,都是通用的
# 申请eab key不用会自动过期
# 如果你有Google domains,可以一键申请https://domains.google.com
# 注意:你需要自己解决https://dv.acme-v02.api.pki.goog/的科学访问
# email exmaple@gmail.com
# cert_issuer acme https://dv.acme-v02.api.pki.goog/directory {
# eab <EAB_密钥_ID> <EAB_HMAC_密钥>
# }
# 失败回退常规acme
# cert_issuer acme
# 屏幕打印日志,需要调试的时候可打开
# log {
# output stdout
# format console
# level debug
# }
}
ob.xxxx.cc {#这里要改成自己的域名
reverse_proxy http://localhost:88 #这里要改成自己服务器的IP
basic_auth {
# Username "Bob", password "hiccup"
Bob $2a$14$Zkx19XLiW6VYouLHR5NmfOFU0z2GTNmpkT/5qqR7hx4IjWJPDhjvG
}
}
```
3. 使用以下 docker compose 文件建立 docker 服务
```yml
version: '3'
services:
ignis:
image: registry.cn-hangzhou.aliyuncs.com/yue-images/ignis:latest
container_name: ignis2
ports:
- "88:8080"
environment:
- OBSIDIAN_VERSION=1.12.7
- PUID=1000
- PGID=1000
volumes:
- ./vaults:/vaults
- ./data:/app/data
- ./obsidian-app:/app/obsidian-app
restart: unless-stopped
caddy:
pull_policy: always
image: registry.cn-hangzhou.aliyuncs.com/yue-images/caddy:latest
container_name: caddy
restart: unless-stopped
environment:
- TZ=Asia/Shanghai
- DNS=223.5.5.5,8.8.8.8
volumes:
- ./caddy_data:/data
ports:
# - '8000:80'
- '8001:443'
```
### 结果
![image](assets/image-20260809181306-0e1qd33.png)
![Snipaste_2026-08-09_18-27-29](assets/Snipaste_2026-08-09_18-27-29-20260809183007-aavwkz2.png)