paths-and-naming

Пути и соглашения

Базовые пути на сервере

Репозиторий runner:

/home/supervisor/leonid_projects/duck-obsidian

Deploy tools:

/home/supervisor/leonid_projects/duck-obsidian/.deploy

Все garden deployments:

/home/supervisor/leonid_projects/obsidians

Один garden:

/home/supervisor/leonid_projects/obsidians/<slug>

Garden repo внутри deployment:

/home/supervisor/leonid_projects/obsidians/<slug>/site

Obsidian vault:

/home/supervisor/leonid_projects/obsidians/<slug>/site/<slug>-vault

Deploy log:

/home/supervisor/leonid_projects/obsidians/<slug>/logs/deploy.log

Структура garden deployment

/home/supervisor/leonid_projects/obsidians/<slug>/
  site/                 # GitHub repo garden
  logs/                 # deploy logs
  docker-compose.yml    # Caddy/build container setup
  Caddyfile             # Caddy отдаёт dist/
  pull-and-rebuild.sh   # pull/build/restart workflow

Имена systemd units

Для каждого garden timer и service называются по slug:

<slug>-pull.timer
<slug>-pull.service

Для текущего production-примера:

obsidian-duck-guide-pull.timer
obsidian-duck-guide-pull.service

Подробнее: Systemd timers по slug.

Docker container

Caddy container обычно называется:

<slug>-garden

Для текущего production-примера:

obsidian-duck-guide-garden

Deploy lock

Lock для deploy:

/tmp/<slug>-deploy.lock

Для текущего production-примера:

sudo lslocks | grep obsidian-duck-guide-deploy || true

Порты

Backend API панели:

127.0.0.1:3017

Garden Caddy containers слушают локальные порты из диапазона:

8089-8999

Проверка локального порта garden:

curl -I http://127.0.0.1:<port>/

Домены

Панель:

admin.obsidians.otc.guru

Gardens:

<slug>.obsidians.otc.guru

Пример:

obsidian-duck-guide.obsidians.otc.guru