需求
- 不暴露额外端口
- 使用80端口加子目录访问:http://your-public-ip-address/joplin/
- joplin以docker运行:joplin@docker
配置
traefik配置:joplin.yml
这里需要使用两个中间件来转发公网子目录的request,replacepathregex使用规则将对/joplin目录的请求改为对/根目录的请求
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
## Dynamic configuration http: routers: http-joplin: entryPoints: - "web" rule: "( PathPrefix(`/joplin`) )" service: "joplin@docker" middlewares: - joplin-replacepathregex middlewares: joplin-replacepathregex: replacePathRegex: regex: "^/joplin/(.*)" replacement: "/$1" |
joplin配置:.env
这里需要将APP_BASE_URL改为公网的实际IP加子目录完整路径,因为css、js资源路径会按照这个地址,否则即使可以访问也无法拿到初始dom以外后加载的资源。
1 2 3 |
... APP_BASE_URL=http://your-public-ip-address/joplin ... |
joplin配置:docker-compose.yml
这里暴露22300端口到traefik的http协议
1 2 3 4 5 6 7 8 9 |
... environment: - APP_PORT=22300 ... labels: - "traefik.enable=true" - "traefik.http.routers.joplin.entrypoints=web" - "traefik.http.services.joplin.loadbalancer.server.port=22300" ... |
以上就可以通过http://your-public-ip-address/joplin/访问joplin后台服务,而不用单独暴露额外端口
注意,使用http://your-public-ip-address/joplin会报404错误,因为我们没有设置这个规则,可以额外增加一个规则,跳转到http://your-public-ip-address/joplin/home即可。
客户端连接Joplin Server
在joplin客户端填写Server URL的时候,路径填写http://your-public-ip-address/joplin/或者填写http://your-public-ip-address/joplin都可以,因为客户端会自动判断并在后面加/api/的具体接口路径。
如何修改初始用户邮箱
joplin的docker暂时还不支持发送邮件,但是修改初始用户邮箱却需要邮件确认。
其实可以直接通过后台面板查看到已发邮件,点开之后直接打开确认链接就可以直接确认并且修改邮箱了。
There are no comments yet