- 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
41 lines
1.4 KiB
Markdown
41 lines
1.4 KiB
Markdown
# Obsidian LiveSync — str-u-01
|
||
|
||
Self-hosted CouchDB для плагина Obsidian LiveSync (`vrtmrz/obsidian-livesync`).
|
||
|
||
## Стек
|
||
- **Image**: `couchdb:3`
|
||
- **Network**: bridge, биндинг `127.0.0.1:5984`
|
||
- **Публичный доступ**: nginx reverse-proxy на `obs.striker.su` с LE-сертификатом
|
||
- **Volume**: `./data:/opt/couchdb/data` (БД, в git не попадает)
|
||
- **Config**: `couchdb-config/local.ini` (CORS для Obsidian, max_http_request_size 4 ГБ)
|
||
|
||
## Деплой
|
||
|
||
```bash
|
||
ssh striker@str-u-01.striker.su
|
||
cd /opt/docker/sites/obsidian-livesync
|
||
git pull
|
||
docker compose pull
|
||
docker compose up -d
|
||
```
|
||
|
||
## Первый запуск
|
||
|
||
1. Скопировать `.env.example` → `.env`, прописать сильный пароль для `COUCHDB_PASSWORD`
|
||
2. `docker compose up -d`
|
||
3. Создать системные БД CouchDB (нужно один раз):
|
||
```bash
|
||
for db in _users _replicator _global_changes; do
|
||
curl -X PUT -u "$COUCHDB_USER:$COUCHDB_PASSWORD" http://127.0.0.1:5984/$db
|
||
done
|
||
```
|
||
4. В Obsidian → Settings → Community plugins → Self-hosted LiveSync:
|
||
- URI: `https://obs.striker.su`
|
||
- Username/Password: те же что в `.env`
|
||
- Database name: любое имя (по vault-у)
|
||
|
||
## Доступ
|
||
- API: https://obs.striker.su (CouchDB REST)
|
||
- Fauxton UI: https://obs.striker.su/_utils/
|
||
- Локально на сервере: http://127.0.0.1:5984
|