architect/standards/_draft/arch-server-setup.md

type: standard
layer: arch
object: server
aspect: setup
form: text
title: "Настройка сервера платформы"
status: draft
version: 0.1.0
date: 2026-04-13
knowledge_level: У1


Настройка сервера платформы

Стандарт описывает процесс подготовки нового сервера: типы серверов, базовую установку, стеки по роли, настройку dataspace, чеклист готовности.

Реализация: system/install/install.sh


1. ТИПЫ СЕРВЕРОВ

Тип Роль Пример
control-plane Claude Code, gateway, git, monitor dev-pro-eu 91.218.142.168
data-server проекты, агенты, БД, S3 dataspase aipd-server-rf 155.212.142.142
backup-server restic, snapshots, архив отдельный узел

2. БАЗОВАЯ УСТАНОВКА (любой тип)

Порядок — одинаковый для всех серверов:

bash system/install/install.sh

Шаги:
1. base/system.sh — пакеты (curl, git, python3, rclone), часовой пояс, SSH hardening
2. base/docker.sh — Docker + Compose plugin
3. base/networks.sh — внутренние Docker-сети
4. SSH timeout — отключить (ClientAliveInterval 60, ClientAliveCountMax 0)
5. Git config — user.name "Claude Code", user.email "claude@aipd.ru"


3. СТЕКИ ПО ТИПУ

control-plane

Стек Скрипт Что даёт
Gateway stacks/gateway.sh Traefik reverse proxy
Git stacks/git.sh Gitea
Monitor stacks/monitor.sh Telegram бот, алерты
Platform stacks/platform.sh Claude Code контейнер

data-server

Стек Скрипт Что даёт
Platform stacks/platform.sh Claude Code контейнер
S3 mount (rclone вручную) $DATASPACE → /mnt/data
Executor stacks/executor.sh PostgreSQL + Redis
Agents stacks/agents.sh AI агенты

backup-server

Стек Скрипт Что даёт
Backup stacks/backup.sh restic → S3, cron 03:00

4. DATASPACE (S3 mount)

Монтирование S3 через rclone в /mnt/data:

# 1. Настроить rclone remote
rclone config

# 2. Создать точку монтирования
mkdir -p /mnt/data

# 3. Смонтировать
rclone mount <remote>:<bucket> /mnt/data \
  --daemon --allow-other --vfs-cache-mode writes

# 4. Автомонтирование (systemd)
# /etc/systemd/system/rclone-data.service

Структура после монтирования:

/mnt/data/
└── projects/
    └── org/
        └── {project}/
            └── it/
                └── data/   ← данные проекта

Проверка:

df -h /mnt/data
mount | grep mnt

5. SECRETS / CLAUDE AUTH

После установки platform стека:

# Сохранить credentials после первого claude login
docker exec claude cat /root/.claude/.credentials.json > /opt/platform/claude/secrets/credentials.json
docker exec claude cat /root/.claude.json              > /opt/platform/claude/secrets/claude.json
chmod 600 /opt/platform/claude/secrets/*

6. ЧЕКЛИСТ ГОТОВНОСТИ

Базовый (любой тип)

data-server

backup-server


TODO (доработать)