Files
obsidian-livesync/CLAUDE.md
striker 5b4628049e Initial Obsidian LiveSync (CouchDB) deployment
- couchdb:3, bridge, 127.0.0.1:5984, journald
- couchdb-config/local.ini с CORS для Obsidian (app://obsidian.md)
- max_http_request_size 4 ГБ для больших vault-ов
- .env и data/ исключены из git
2026-05-08 04:50:18 +03:00

50 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CLAUDE.md — obsidian-livesync
## Что
CouchDB для self-hosted Obsidian LiveSync на str-u-01 (45.10.53.148). Доступ через `obs.striker.su`.
## Стек
- `couchdb:3` (Apache CouchDB) на `127.0.0.1:5984`
- bind-mount `./data` (БД), `./couchdb-config/local.ini` (CORS для Obsidian)
- `restart: unless-stopped`, healthcheck на `/_up`
- log-driver: journald
## Структура
```
obsidian-livesync/
├── docker-compose.yml
├── couchdb-config/local.ini # CORS, max_http_request_size 4G
├── .env.example # шаблон, реальный .env только на сервере
├── .gitignore # исключает .env, data/
├── README.md
└── CLAUDE.md
```
## Деплой
```bash
ssh striker@str-u-01.striker.su
cd /opt/docker/sites/obsidian-livesync
git pull
docker compose pull && docker compose up -d
```
## nginx
vhost: `/etc/nginx/conf.d/obs.striker.su` (ssl + reverse-proxy на 127.0.0.1:5984).
**Важно для CouchDB:**
- `proxy_set_header Host $host` (CouchDB чувствителен)
- `client_max_body_size 4G` (большие vault-ы)
- `proxy_buffering off` (long-poll changes feed)
- WebSocket headers (changes feed continuous)
## Секреты
`.env` на сервере (не в git): `COUCHDB_USER` и `COUCHDB_PASSWORD`. Также скопированы в Vaultwarden (запись "obsidian-livesync str-u-01" / поиск).
## Системные БД
После первого запуска CouchDB требует создать `_users`, `_replicator`, `_global_changes` через PUT (см. README).
## Plugin Self-hosted LiveSync
- URI: `https://obs.striker.su`
- Auth: те же что в `.env`
- Database: любое имя (рекомендуется по vault-у, например `obsidian-main`)
- Use Custom Request Handler: **off** (не нужно — мы не на Cloudflare)