Files
OSQY/如何搭建web版本obsidian/如何搭建web版本obsidian.md
T
2026-08-09 18:39:06 +08:00

3.6 KiB

如何搭建web版本obsidian

背景

最近大神开源了一个 ignis 项目,可以通过网页访问 obsidian,但是默认是 http,且无密码,对于公网无法安全使用。

下面这个方案完善了安全访问,采用了加密的 https,并且有需要用户名登陆才能访问。

具体步骤

申请一个免费的域名,比如 ob.xxxx.cc

搞一个免费 10 年的二级域名,公网访问飞牛 NAS

通过反向代理 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
# 全局选项
{
    # 全局使用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
	}
}
  1. 使用以下 docker compose 文件建立 docker 服务
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

Snipaste_2026-08-09_18-27-29