我正在用Docker Compose搭建一个Joplin服务器,这个服务器只能通过指定的域名端口访问。
我已经用ZeroTier的内网IP替代了域名。但是这样做有点麻烦,因为我也设置了IPv6的DDNS,这样我就可以通过IPv6的域名访问服务器,不需要一直连着ZeroTier。
可是,Joplin服务器只能用ZeroTier的内网IP,不能通过IPv6的域名访问,否则就会出现Invalid origin。咋实现http://zerotierIP:22300或者http://IPv6的域名:22300都可以使用joplin server呢?
以下是我现在的Docker Compose和.env的配置文件,拜托大家了:
version: '3'
services:
db:
image: postgres:16
volumes:
- /mnt/mydisk/joplin:/var/lib/postgresql/data
ports:
- "5432:5432"
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_DB=${POSTGRES_DATABASE}
app:
image: etechonomy/joplin-server:latest
depends_on:
- db+
ports:
- "22300:22300"
restart: unless-stopped
environment:
- APP_PORT=22300
- APP_BASE_URL=${APP_BASE_URL}
- DB_CLIENT=pg
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DATABASE=${POSTGRES_DATABASE}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PORT=${POSTGRES_PORT}
- POSTGRES_HOST=db
.env
POSTGRES_PASSWORD=joplin
POSTGRES_DATABASE=joplin
POSTGRES_USER=joplin
POSTGRES_PORT=5432
# POSTGRES_HOST=localhost
APP_BASE_URL=http://172.25.xx.xx:22300