infra/@aipd.server/docker-compose.claude.yml
# Claude Code — основной контейнер платформы
# Сервер: 155.212.142.142 (AIPD)
#
# Запуск:
#   docker compose -f docker-compose.claude.yml up -d
#
# Вход в меню:
#   bash /opt/claude-workspace/start.sh   (с хоста — редирект внутрь)
#   docker exec -it claude bash start.sh  (напрямую)

networks:
  proxy-net:
    external: true

volumes:
  claude-auth:
    name: claude-auth

services:
  claude:
    image: ghcr.io/anthropics/claude-code:latest
    container_name: claude
    restart: unless-stopped
    stdin_open: true
    tty: true
    networks: [proxy-net]

    volumes:
      # ~/.claude/ — персистентный volume (credentials, сессии)
      - claude-auth:/root/.claude/
      # workspace — монтируется с хоста (один путь на хосте и в контейнере)
      - /opt/claude-workspace:/opt/claude-workspace:rw

    environment:
      CLAUDE_SERV: "AIPD"
      CLAUDE_WORKSPACE: "/opt/claude-workspace"

    working_dir: /opt/claude-workspace

    # При первом старте — установка платформы, затем ждём
    entrypoint: >
      bash -c "
        if [ ! -f /root/.claude/.platform-installed ]; then
          bash /opt/claude-workspace/install.sh AIPD;
        fi;
        exec sleep infinity
      "

    # Использование:
    # bash /opt/claude-workspace/start.sh   ← с хоста (автоматический редирект)
    # docker exec -it claude bash /opt/claude-workspace/start.sh