type: context
object: aipd-server
aspect: agent
class: ServerComponent
layer: infra
version: "2.0.0"
status: active
date: 2026-04-15
Основной 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 | основной |
| 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"
docker compose up -d — Traefik автоматически получит SSLПеременная ${DOMAIN} = aipd.ru — задана в /opt/platform/traefik/.env
Полный реестр контейнеров → infra.yaml
# Обновить 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