-
Notifications
You must be signed in to change notification settings - Fork 1
Troubleshooting
Common issues and one-shot fixes.
PUID / PGID in .env don't match the host user.
id -u; id -g # check host uid/gid
# update .env's PUID/PGID, then
docker compose up -d --force-recreateIf files were created with wrong ownership:
sudo chown -R $(id -u):$(id -g) vibe-coder-data/vibe-doctor hasn't been run. From the web UI: Build environment → Install/update all → wait 5-15 min. Or CLI:
docker exec -it vibe-coder-server vibe-doctor androidTwo distinct fixes for the same symptom, depending on cause:
You ran docker exec -it vibe-coder-server claude login without
--user vibe. docker exec defaults to root, so credentials went to
/root/.claude/. The server (running as vibe) doesn't read that path.
# Re-login as vibe
docker exec -it --user vibe vibe-coder-server claude login
# Then verify
docker exec -it --user vibe vibe-coder-server claude auth statusThe .credentials.json exists but claudeAiOauth.expiresAt is in the
past. From v0.6.2+ the diagnostic detects this and shows "✗ Token
expired".
# Re-login (refresh token will reactivate access)
docker exec -it --user vibe vibe-coder-server claude loginIf refresh token is also expired (≥30 days unused), the full OAuth flow is required.
The Gradle dependency cache is empty on first build. Subsequent builds are 5-20× faster.
# Give Gradle more RAM if you have it
# In .env:
JAVA_OPTS=-Xmx8g -XX:+UseG1GC -Dfile.encoding=UTF-8
docker compose up -d --force-recreateThe MCP package name has changed upstream. The catalog's COMMUNITY / EXPERIMENTAL tier carries this risk. Workarounds:
# Find the new name on npm
docker exec -it --user vibe vibe-coder-server npm search <keyword>
# Install manually
docker exec -it --user vibe vibe-coder-server npm install -g <new-package-name>
# Edit .mcp.json by hand
docker exec -it --user vibe vibe-coder-server vi ~/.claude/.mcp.jsonOpen an issue to update the catalog.
Authentication failure. Diagnose:
- Public repo? Try
git clone <URL>from the host to confirm URL is correct. - Private HTTPS? Did you register a PAT in
/settings/git-integrations? The PAT's host must match the URL host exactly (github.com, notwww.github.com). - Private SSH? Did you
ssh-keygenand register the public key in your provider? Check:docker exec -it --user vibe vibe-coder-server ssh -T git@github.comshould replyHi <username>!.
GitHub wikis require the first page to be created via the web UI before
the wiki repo (<repo>.wiki.git) exists. Same applies if you're trying
to mirror a wiki to vibe-coder via clone.
Reverse proxy is timing out idle connections. Server sends a ping frame
every 20 s, so any non-broken proxy keeps the connection alive. If you're
behind nginx:
location /ws/ {
proxy_pass http://upstream:17880;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
}You're using a base image where the default user has UID/GID 1000. This
was fixed in v0.8.1 by removing the default ubuntu user before adding
vibe. If you see this on a custom image:
RUN userdel -r ubuntu 2>/dev/null || true && \
groupdel ubuntu 2>/dev/null || true
# ...then groupadd/useradd vibe...Use a registry mirror in your daemon config (/etc/docker/daemon.json):
{ "registry-mirrors": ["https://your-mirror.example.com"] }Then restart Docker.
docker compose logs -f --tail=200 vibe-coder-serverUseful filters:
# Only WARN/ERROR
docker compose logs vibe-coder-server | grep -E '(WARN|ERROR)'
# Only HTTP requests
docker compose logs vibe-coder-server | grep -E 'GET|POST|PUT|DELETE'Server log level: edit server/src/main/resources/logback.xml and rebuild
(or pass -Dlogback.configurationFile=/path/to/your.xml).
docker compose down
rm -rf vibe-coder-data/ # ⚠ deletes ALL state, including auth
docker compose pull
docker compose up -d
# Re-do /setup, re-install build environment, re-login Claude, re-clone projectsTo preserve projects but reset the rest:
docker compose down
mv vibe-coder-data/workspace /tmp/keep-workspace
rm -rf vibe-coder-data/
mkdir -p vibe-coder-data
mv /tmp/keep-workspace vibe-coder-data/workspace
docker compose up -d