You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/workflows/final-build.yml
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ jobs:
32
32
run: bun ./packages/docker-git-session-sync/dist/docker-git-session-sync.js --help
33
33
- name: Verify browser UI and menu clone smoke checks
34
34
run: |
35
-
bun run --cwd packages/app build:web
35
+
bun run --cwd packages/app build:web:strict
36
36
bun scripts/final-build/browser-web-smoke.mjs
37
37
bun run --cwd packages/app vitest run tests/docker-git/browser-frontend.test.ts tests/docker-git/app-ready-create.test.ts tests/docker-git/actions-project-create.test.ts
По умолчанию web-версия слушает все интерфейсы хоста (`0.0.0.0`), поэтому её можно открыть с другого устройства в LAN, например `http://192.168.0.206:4174/`. Чтобы ограничить доступ только этой машиной:
37
+
```bash
38
+
DOCKER_GIT_WEB_HOST=127.0.0.1 bun run docker-git -- browser
29
39
```
30
40
31
41
## CLI пример
32
42
33
43
Можно передавать ссылку на репозиторий, ветку (`/tree/...`), issue или PR.
-`apply` применяет конфиг к одному проекту. `--no-up` только обновляет файлы без `docker compose up`.
62
72
-`apply-all` применяет конфиг ко всем проектам. `--active` только к запущенным контейнерам.
63
73
64
-
## GPU режим
65
-
66
-
По умолчанию проекты запускаются без GPU (`gpu: "none"`), поэтому Docker не
67
-
требует NVIDIA runtime на обычных CPU-хостах.
68
-
69
-
GPU включается только явно через `--gpu all` или сохранённое значение
70
-
`"gpu": "all"` в `docker-git.json`. Если Docker возвращает ошибку NVIDIA
71
-
prestart hook вида `nvidia-container-cli` / `libnvidia-ml.so.1`, `docker-git`
72
-
перезаписывает managed-файлы проекта с `gpu: "none"` и повторяет
73
-
`docker compose up`, чтобы среда оставалась запускаемой на хосте без рабочей
74
-
NVIDIA userspace-части.
75
-
76
-
Если проекту действительно нужен GPU, установите драйвер NVIDIA и NVIDIA
77
-
Container Toolkit на хосте, затем снова примените конфигурацию с `--gpu all`.
78
-
GPU для controller-контейнера включается отдельно через
79
-
`DOCKER_GIT_CONTROLLER_GPU=all`; значение по умолчанию для controller тоже
80
-
`none`.
81
-
82
-
Для запуска WEB версии:
83
-
```bash
84
-
bun run docker-git -- browser
85
-
```
86
-
87
-
По умолчанию web-версия слушает все интерфейсы хоста (`0.0.0.0`), поэтому её можно открыть с другого устройства в LAN, например `http://192.168.0.206:4174/`. Чтобы ограничить доступ только этой машиной:
88
-
```bash
89
-
DOCKER_GIT_WEB_HOST=127.0.0.1 bun run docker-git -- browser
90
-
```
91
-
92
74
## Подробности
93
75
94
76
```bash
@@ -102,65 +84,3 @@ API - Просто апи сервер поднятный над LIB
102
84
103
85
APP работает только с API, и не имеет доступа к LIB
104
86
API работает только с LIB
105
-
106
-
## Runtime contract: host-Docker-backed
107
-
108
-
`docker-git` is host-Docker-backed by design. The controller container
109
-
(`docker-git-api`) talks to the host Docker daemon via the bind-mounted
110
-
`/var/run/docker.sock`, which is how it creates and manages per-project
111
-
containers. There is no isolated Docker-in-Docker runtime.
112
-
113
-
This means the user that runs the host CLI (`bun run docker-git ...`) needs
114
-
to be able to talk to that same socket directly. Three failure modes can
115
-
look superficially identical and are diagnosed separately by the CLI:
116
-
117
-
1.**Host Docker daemon is not reachable** – `docker info` fails with
118
-
"Cannot connect to the Docker daemon". Start Docker (e.g.
119
-
`sudo systemctl start docker`) or set `DOCKER_HOST` to a reachable
120
-
endpoint.
121
-
2.**Host Docker socket rejected this user** – `docker info` fails with
122
-
"permission denied" while talking to `/var/run/docker.sock`. This is a
123
-
host configuration issue, *not* a `docker-git` outage. Add the user to
124
-
the `docker` group, switch to rootless Docker, or fix the socket
125
-
ownership (`root:docker`, mode `660`). After changing groups, log out
126
-
and back in (or run `newgrp docker`).
127
-
3.**Controller container not running** – the host CLI cannot reach
128
-
`docker-git-api` on its API port. Bring the controller up via
129
-
`docker compose up -d --build`, or point the CLI at an existing
130
-
controller using `DOCKER_GIT_API_URL`.
131
-
132
-
When the CLI cannot acquire Docker access it now prints a message that
133
-
names the specific failure mode, restates the host-Docker contract, and
134
-
lists remediation steps for that exact mode. Implementation lives in
0 commit comments