* 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>
2.4 KiB
2.4 KiB
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
.envgitignored — пользователь создаёт из.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), networkopencode_network, 4 bind mountsDockerfile— 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 MCPdocs/handoff/pr-24-docker-setup.md— этот файлdocs/decisions/004-pr-24-docker-setup.md— ADR-004