quick-start
Быстрый старт
Проверить сервер
cd /home/supervisor/leonid_projects/duck-obsidian/.deploy
./gardenctl doctor
Если doctor ругается, сначала исправить зависимости сервера: git, docker, docker compose, nginx, systemctl, journalctl, sudo, ss, sed.
Посмотреть gardens
Через CLI:
cd /home/supervisor/leonid_projects/duck-obsidian/.deploy
./gardenctl list
Через API:
TOKEN="$(sudo awk -F= '$1=="DUCK_PANEL_TOKEN"{print $2}' /etc/duck-garden-panel.env)"
curl -s \
-H "Authorization: Bearer $TOKEN" \
http://127.0.0.1:3017/api/gardens
Через UI:
https://admin.obsidians.otc.guru
Создать garden через CLI
cd /home/supervisor/leonid_projects/duck-obsidian/.deploy
./gardenctl create \
--slug obsidian-duck-guide \
--domain obsidian-duck-guide.obsidians.otc.guru \
--repo git@github.com:leo-mmmmmmm/obsidian-duck-guide.git \
--port 8089 \
--engine-version 1.0.18
Что произойдёт:
GitHub repo -> /home/supervisor/leonid_projects/obsidians/<slug>/site
шаблон -> garden repo, если repo пустой
systemd timer/service -> <slug>-pull.timer / <slug>-pull.service
nginx config -> /etc/nginx/sites-available/<domain>
Docker/Caddy -> отдаёт site/dist/
certbot -> включает HTTPS, если разрешено
Подробнее: gardenctl.
Пересобрать production garden
cd /home/supervisor/leonid_projects/duck-obsidian/.deploy
./gardenctl rebuild obsidian-duck-guide
Проверить публичную страницу:
curl -I https://obsidian-duck-guide.obsidians.otc.guru/
Проверить конкретный asset:
curl -I 'https://obsidian-duck-guide.obsidians.otc.guru/img/user/foto/2026-06-15%2014.57.12.jpg'
Ожидаемо:
HTTP/1.1 200 OK
Подробнее: production rebuild.
Остановить auto-update перед ручными правками
cd /home/supervisor/leonid_projects/duck-obsidian/.deploy
./gardenctl pause obsidian-duck-guide
Вернуть обратно:
./gardenctl resume obsidian-duck-guide
Подробнее: timers.
Проверить engine локально в garden
cd /home/supervisor/leonid_projects/obsidians/obsidian-duck-guide/site
sudo rm -rf node_modules package-lock.json dist .duck-garden
sudo chown -R supervisor:supervisor .
npm install --no-audit --no-fund
npm run build
node node_modules/@duck/garden-engine/scripts/assert-dist.js
Подробнее: проверка engine до release.
Что читать дальше
- Для публикации заметок: редакторский workflow
- Для сервера: gardenctl
- Для UI: админская панель
- Для debug: debug runbook