Оновлено: 2026-04-17
ssh root@31.131.26.203| Назва | Token | Scopes | Expires |
|---|---|---|---|
| claude-server-vps | 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 | repo, workflow | No expiration |
| vps-ag-wiki | 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 | repo | May 14 2026 |
# Налаштувати git credentials з новим PAT
git config --global user.email "serhiivereschak@gmail.com"
git config --global user.name "Serhii Vereschak"
# Зберегти credentials
echo "https://serhiivereschak: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@github.com" > ~/.git-credentials
git config --global credential.helper store
# Клонувати всі проекти
cd /srv/services
for repo in ad-analytics biogaia-story family-tree loyalty-analysis plasma-skylab ruby-oort zest-content lunar-hubble pediatric-news; do
git clone "https://serhiivereschak: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@github.com/serhiivereschak/$repo.git"
done
# Оновити ag-wiki
cd /srv/wiki && git pull
| Сервіс | URL / Path | Status |
|---|---|---|
| Caddy | /srv/caddy/Caddyfile | 🟢 |
| n8n | localhost:5678 | 🟢 |
| Claude bot | systemd: claude-bot.service | 🟢 |
| ag-wiki | /srv/wiki/ | 🟢 |
| claude-watchdog | /srv/services/claude-watchdog/watchdog.py | 🟢 v2 |
| Reports hub | /reports/ — FastAPI markdown-viewer на 127.0.0.1:8081 | 🟢 |
| Perlite (Obsidian memory viewer) | /memory/ — docker-compose у /srv/perlite/, basic auth, read-only mirror |
🟢 (2026-04-23) |
| Meta Ads toolkit | /srv/tools/meta-ads/ — скрипти аудиту кампаній |
🟢 (2026-04-23) |
Ідея: веб-інтерфейс для перегляду нашої VPS memory (/root/.claude/projects/-/memory/) у стилі Obsidian. Read-only, з графом зв'язків і пошуком.
/srv/passepartout/obsidian-memory-access.txt)/srv/perlite/ — docker-compose (nginx + PHP-FPM sec77/perlite)/srv/obsidian-vault/ (rsync з memory кожні 5 хв через cron)/etc/caddy/conf.d/memory.caddy + bcrypt basic authmetadata.json для графа: /srv/perlite/generate-metadata.py (сканує md-linky і wiki-linky, будує граф з 55 вузлів)Далі (roadmap):
[[]] всередині memory файлів щоб граф став насиченішим (зараз "зірка" з MEMORY у центрі)Програмний доступ до Meta Marketing API через власну app Deltamedical. Окремий проект: /srv/wiki/meta-ads-toolkit/.
fail2ban заблокував IP 193.93.78.10 (домашній IP Сергія = egress IP Cowork sandbox). Причина: 4× "Failed password for root" при SSH-спробах о 08:32–08:34 UTC (maxretry=3, bantime=24h). fail2ban зберігає бани через persistent.bdb — бан пережив перезавантаження о 09:31 UTC.
Побічний ефект: Claude CLI polling завис у tmux-сесії (бот мовчав 15–17 квітня ~37 год), при цьому systemd вважав сервіс живим.
Після перезавантаження: Claude Code v2.1.112+ показує інтерактивний prompt "Enable auto mode?" → нова сесія бота блокувалась до натискання 1. Виправлено через watchdog v2.
jail.local → ignoreip = 127.0.0.1/8 ::1 193.93.78.10 — постійний whitelist нашого egress IP50unattended-upgrades: Automatic-Reboot "false" — ядро більше не перезавантажується автоматично/srv/services/claude-watchdog/watchdog.py): перевірка tmux-сесії + auto-mode unlock + cooldown 10 хв/root/.ssh/authorized_keys (SHA256:tA5mTCBfdOkF+cCVO2h97Y6EMdxx76VqfyE+28+Cudg)QEMU VNC mis-translates: _→-, >>→.., |→\. Shift+minus = _. Уникати складних команд через VNC.
| Назва | Scopes | Expires |
|---|---|---|
| claude-server-vps | repo, workflow | Без терміну |
| vps-ag-wiki | repo | 14 травня 2026 ⚠️ |
⚠️
vps-ag-wikiспливає 14 травня 2026 — ~27 днів. Оновити до 1 травня.
git config --global user.email "serhiivereschak@gmail.com"
git config --global user.name "Serhii Vereschak"
git config --global credential.helper store
cd /srv/wiki && git pull
PAT зберігається в /root/.git-credentials та в remote URL wiki repo.