-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
39 lines (39 loc) · 1.95 KB
/
Copy pathdocker-compose.yml
File metadata and controls
39 lines (39 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
services:
quaderno-sync:
build: .
image: quaderno-sync:latest
container_name: quaderno-sync
# 必须 host 网络:Zeroconf/mDNS 自动发现设备要靠它穿透 Docker 网桥
network_mode: host
# 以你的 DSM 用户 (Haining Zhou) 身份运行 → 同步下来的文件直接归你
user: "1026:100"
# 补上 administrators 组(101),否则群晖共享文件夹 ACL 不放行容器读写
group_add:
- "101"
restart: unless-stopped
environment:
QUADERNO_LOCAL: /data # 容器内路径,映射到 /volume2/Quaderno/Sync
QUADERNO_REMOTE: Document # Quaderno 设备上的文件夹
QUADERNO_CREDS: /creds
QUADERNO_DISCOVER_TIMEOUT: "15"
# 放文件即推(inotify 实时触发);下面是"兜底轮询",不是主要触发方式:
SYNC_INTERVAL: "10800" # 没动静时多久拉一次设备端改动,10800=3h
RETRY_INTERVAL: "120" # 设备离线时的重试间隔(秒),等它醒来尽快补推
SYNC_TIMEOUT: "300" # 单次同步硬超时(秒),防设备半睡把同步卡死
TZ: "Asia/Tokyo" # 同步会把此时区写进设备时钟(东京 UTC+9)
volumes:
# 用共享文件夹下的子目录 Sync 作同步根,避开共享根的 #recycle / @eaDir
- /volume2/Quaderno/Sync:/data
- /volume1/docker/quaderno/creds:/creds:ro # 凭据(只读)
- /etc/localtime:/etc/localtime:ro # 跟随 NAS 本地时间
logging: # 限制日志大小,避免几个月后涨爆
driver: json-file
options:
max-size: "10m"
max-file: "3"
healthcheck: # 心跳过期(同步卡死/进程僵)则标记 unhealthy
test: ["CMD-SHELL", "[ $(( $(date +%s) - $(stat -c %Y /tmp/quaderno_heartbeat 2>/dev/null || echo 0) )) -lt $(( ${SYNC_INTERVAL:-10800} + 1800 )) ]"]
interval: 5m
timeout: 10s
retries: 3
start_period: 3m