From 1ac99b4a1081ce4b0327ae94464df0c3d3083c0b Mon Sep 17 00:00:00 2001 From: Leonid Pershin Date: Tue, 8 Sep 2026 23:18:56 +0300 Subject: [PATCH] Document cloning into /opt as root-owned directory Cloning straight into /opt fails with "Permission denied", and a clone left owned by root would also make the ./data bind mount unwritable for the container's node user. Co-Authored-By: Claude Opus 5 --- README.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b4b9b0d..9a7521a 100644 --- a/README.md +++ b/README.md @@ -41,10 +41,20 @@ Stoat (чат) ──messageCreate──► bot/commands ─┐ ### 1. Клонировать репозиторий +`/opt` принадлежит root, поэтому клонируем под `sudo` и сразу возвращаем владение себе: + ```bash -cd /opt && git clone https://gitea.hsrv.site/mrleo1nid/stoat-mbot.git stoat-mbot +sudo git clone https://gitea.hsrv.site/mrleo1nid/stoat-mbot.git /opt/stoat-mbot ``` +```bash +sudo chown -R $USER:$USER /opt/stoat-mbot +``` + +`chown` здесь не косметика: дальше вы правите `.env` и `compose.yml`, а bind-mount `./data` +иначе создастся от root. Контейнер работает под пользователем `node` (uid 1000) — если ваш +пользователь тоже uid 1000 (`id -u`), права на `data/` совпадут и yt-dlp сможет туда писать. + ### 2. Создать бота в Stoat Settings → **My Bots** → создать бота → скопировать токен → пригласить бота на сервер.