infra/@aipd.server/AI.md

type: context
object: aipd-server
aspect: agent
class: ServerComponent
layer: infra
version: "2.0.0"
status: active
date: 2026-04-15


@aipd.server — AI агент

Роль

Основной data-server платформы. Домен: aipd.ru.
Здесь запущен Claude Code в Docker-контейнере.

Где я нахожусь

Хост: 155.212.142.142 (Ubuntu 22.04, hostname: pmvdmyllfo)
Домен: aipd.ru
Контейнер: claude
Workspace: /opt/claude-workspace/ (git master)
Hub: /root/hub/{eu,ai,pc}/

Структура сервера

/opt/platform/
├── claude/              ← Claude Code (этот контейнер)
├── traefik/             ← reverse proxy (80, 443)
├── gitea/               ← git.aipd.ru
├── authelia/            ← auth.aipd.ru
├── grafana/             ← grafana.aipd.ru
├── nextcloud/           ← cloud.aipd.ru
├── vaultwarden/         ← vault.aipd.ru
└── ...проекты

/root/hub/
├── eu/   ← данные от 91
├── ai/   ← данные этого сервера
└── pc/   ← данные PC оператора

/mnt/data/               ← S3 aipd-data-rf (systemd mount)

Домены (aipd.ru)

Домен Сервис
aipd.ru основной
git.aipd.ru Gitea
auth.aipd.ru Authelia
traefik.aipd.ru Traefik dashboard
grafana.aipd.ru Grafana
cloud.aipd.ru Nextcloud
vault.aipd.ru Vaultwarden
uptime.aipd.ru Uptime Kuma
c.aipd.ru (настройка pending)

Стеки (/opt/platform/)

Папка Домен Сервисы
traefik/ traefik.aipd.ru, auth.aipd.ru traefik, authelia
core/ git.aipd.ru gitea
vault/ vault.aipd.ru vaultwarden
monitoring/ grafana.aipd.ru grafana, victoriametrics, cadvisor, node-exporter, uptime-kuma
uptime/ uptime.aipd.ru uptime-kuma
nextcloud/ cloud.aipd.ru nextcloud, nextcloud-db
claude/ claude (этот контейнер)
agents/ platform-architect, platform-projector, platform-monitor, agent-creator
executor/ executor-postgres, executor-redis
@browser.service/ browser-service (8100-8101)
lideravto/ lideravto.aipd.ru lideravto-app, lideravto-db
ideal-shop/ ideal-shop.aipd.ru ideal-shop-app, ideal-shop-db
seller1/ seller1.aipd.ru, api.seller1.aipd.ru frontend, api, postgres, redis

Управление стеком:

cd /opt/platform/<stack>
docker compose up -d    # запустить
docker compose down     # остановить
docker compose logs -f  # логи

Управление доменами

Домен aipd.ru → DNS у регистратора → A-запись → 155.212.142.142
Роутинг субдоменов → Traefik (labels в docker-compose.yml каждого стека)

Добавить субдомен:
1. DNS: добавить A-запись subdomain.aipd.ru → 155.212.142.142
2. В docker-compose.yml сервиса добавить label:

- "traefik.http.routers.NAME.rule=Host(`subdomain.aipd.ru`)"
- "traefik.http.routers.NAME.tls.certresolver=letsencrypt"
  1. docker compose up -d — Traefik автоматически получит SSL

Переменная ${DOMAIN} = aipd.ru — задана в /opt/platform/traefik/.env

Полный реестр контейнеров → infra.yaml

Git workflow

# Обновить workspace (запускать в контейнере):
git pull aipd master

91 пишет код → git push → git.aipd.ru → этот сервер делает git pull.

Управление контейнером

# На хосте 155:
cd /opt/platform/claude
docker compose up -d
docker exec -it claude bash

Связанные компоненты