Recently Written · git

sbm-sync

Sync server for sbm bookmark files: one small Go program, plain files, AGPL

git clone https://github.com/equwal/sbm-sync

Log | Files | Refs


compose.yaml (990 bytes)

1 # sbm-sync behind Caddy. Caddy gets and renews the TLS certificate for
2 # SBM_DOMAIN by itself. Copy .env.example to .env, set SBM_DOMAIN in it,
3 # then run: docker compose up -d
4 services:
5   caddy:
6     image: caddy:2
7     restart: unless-stopped
8     ports:
9       - "80:80"
10       - "443:443"
11       - "443:443/udp"
12     environment:
13       SBM_DOMAIN: ${SBM_DOMAIN:?set SBM_DOMAIN in .env}
14     volumes:
15       - ./contrib/Caddyfile:/etc/caddy/Caddyfile:ro
16       - caddy-data:/data
17       - caddy-config:/config
18 
19   sbm-sync:
20     build: .
21     restart: unless-stopped
22     # sbm-sync uses the network of caddy. Caddy connects to it on
23     # 127.0.0.1, and sbm-sync trusts X-Real-IP only from 127.0.0.1. So the
24     # sign-in limits count the address of each client, not of Caddy.
25     network_mode: service:caddy
26     env_file: .env
27     environment:
28       SBM_URL: https://${SBM_DOMAIN}
29       SBM_ADDR: 127.0.0.1:8750
30     volumes:
31       - sbm-data:/data
32 
33 volumes:
34   caddy-data:
35   caddy-config:
36   sbm-data: