* 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>
29 lines
No EOL
2.4 KiB
Markdown
29 lines
No EOL
2.4 KiB
Markdown
# 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 |