opencode-config/docs/handoff/pr-24-docker-setup.md
Sergey b9daf31233
feat: docker-compose + Dockerfile + .env.example (#24)
* feat(docker): add docker-compose + Dockerfile + .env.example

* docs(handoff): add pr-8 handoff + ADR-004

* docs(handoff): fix PR number

* docs: update project map + handoff + ADR

---------

Co-authored-by: opencode-agent <agent@slaid098.dev>
2026-07-23 23:35:18 +03:00

2.4 KiB
Raw Blame History

PR: Docker setup

Что сделано

  • docker-compose.yml: 2 services (dind + opencode), 4 bind mounts, opencode_network
  • Dockerfile: node:20-slim, uv, gh, chromium, docker.io, opencode-ai, repomix
  • .env.example: cleaned of private IPs/domains/tunnel UUID, placeholder only
  • Убрано: cloudflared (tunnel → отдельный репо), digital_factory_app_network (self-contained network)

Почему

Docker-based AI coding assistant. Публичный релиз — очищено от приватной инфраструктуры. Source: /root/workspace/opencode/ (ветка fix/pipeline-status/review-next-by-verdict) — docker-compose.yml, Dockerfile, .env.example.

Pending

  • AGENTS.md bind-mount volume — добавляется в #10

Watch out

  • .env gitignored — пользователь создаёт из .env.example (cp .env.example .env). docker compose config без .env падает с env file .env not found — это expected, не баг.
  • .env.example НЕ содержит реальных ключей — placeholder only.
  • CLOUDFLARE_TUNNEL_TOKEN= (optional) — оставлен как placeholder, tunnel перенесён в отдельный репо.
  • ANTIDETECT_BROWSER_MCP_URL=http://localhost:8765/mcp — дефолт local, для remote переопределить в .env на http://<server-ip>:8765/mcp.
  • GIT_AUTHOR/COMMITTER_EMAIL изменён с agent@slaid098.dev на agent@opencode.local — публичный репо без приватного домена.
  • OPENCODE_MEMORY_DIR=/root/workspace/app_data/opencode-memory — путь внутри контейнера; bind mount ./app_data/workspaces:/root/workspace маппит host→container, так что memory лежит в ./app_data/workspaces/app_data/opencode-memory на хосте. Возможен нюанс с layout — проверить в runtime.

Файлы

  • docker-compose.yml — 2 services (dind, opencode), network opencode_network, 4 bind mounts
  • Dockerfile — node:20-slim + apt (ca-certs, curl, git, ssh, autossh, python3, make, g++, chromium, gnupg, docker.io, ffmpeg) + uv + gh + opencode-ai + repomix
  • .env.example — AI provider, OpenCode server, GitHub, Context7, Telegram, Redis, Cloudflare (optional), Antidetect Browser MCP
  • docs/handoff/pr-24-docker-setup.md — этот файл
  • docs/decisions/004-pr-24-docker-setup.md — ADR-004