[PR #5] [CLOSED] fix: Docker startup, demo mode, and dev environment errors #8

Closed
opened 2026-02-27 20:20:08 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/ownpilot/OwnPilot/pull/5
Author: @UX1907
Created: 2/24/2026
Status: Closed

Base: mainHead: fix/docker-startup-and-dev-errors


📝 Commits (1)

  • aab736d fix: Docker startup, demo mode, and dev environment errors

📊 Changes

8 files changed (+64 additions, -42 deletions)

View changed files

📝 Dockerfile (+2 -2)
📝 docker-compose.yml (+1 -1)
📝 packages/cli/src/commands/start.ts (+26 -0)
📝 packages/core/src/workspace/storage.ts (+5 -2)
📝 packages/gateway/src/index.ts (+3 -0)
📝 packages/gateway/src/routes/agent-service.ts (+2 -15)
📝 packages/gateway/src/routes/database.ts (+24 -21)
📝 packages/ui/src/api/endpoints/settings.ts (+1 -1)

📄 Description

Summary

Fixes multiple issues preventing OwnPilot from working after a fresh install, both in Docker and from-source development modes.

  • Docker health check fails — Alpine resolves localhost to IPv6 ::1 but server binds IPv4 0.0.0.0. Changed to 127.0.0.1.
  • ServiceRegistry not initialized — Docker CMD used CLI start command which skips full service registration (23 services). Changed entrypoint to packages/gateway/dist/server.js. Also added ServiceRegistry init to CLI start as fallback.
  • Demo mode with non-standard providersisDemoMode() only checked a hardcoded list of 11 providers (openai, anthropic, etc.). Providers like MiniMax were ignored. Changed to configured.size > 0.
  • EACCES: permission denied, mkdir '/data'IsolatedStorage defaulted to /data/workspaces (a Docker-only path). Changed to platform-specific XDG/AppData directories.
  • ADMIN_KEY required in dev mode — Database write operations blocked by admin key guard even for local dev UI. Skip guard when NODE_ENV=development.
  • Wrong providers API endpoint — UI called /settings/providers but gateway route is /providers.

Closes #4

Test plan

  • docker compose --profile postgres up -d --build — both containers healthy
  • Open http://localhost:8080 — dashboard loads without errors
  • Configure a non-standard provider (e.g. MiniMax) — demo mode disables
  • From source: pnpm dev — no ServiceRegistry or EACCES errors
  • Database page works without ADMIN_KEY in development mode
  • Providers page loads correctly

🤖 Generated with Claude Code


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/ownpilot/OwnPilot/pull/5 **Author:** [@UX1907](https://github.com/UX1907) **Created:** 2/24/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `fix/docker-startup-and-dev-errors` --- ### 📝 Commits (1) - [`aab736d`](https://github.com/ownpilot/OwnPilot/commit/aab736dcf4ddfd1eab426c588ba87d7c0e307654) fix: Docker startup, demo mode, and dev environment errors ### 📊 Changes **8 files changed** (+64 additions, -42 deletions) <details> <summary>View changed files</summary> 📝 `Dockerfile` (+2 -2) 📝 `docker-compose.yml` (+1 -1) 📝 `packages/cli/src/commands/start.ts` (+26 -0) 📝 `packages/core/src/workspace/storage.ts` (+5 -2) 📝 `packages/gateway/src/index.ts` (+3 -0) 📝 `packages/gateway/src/routes/agent-service.ts` (+2 -15) 📝 `packages/gateway/src/routes/database.ts` (+24 -21) 📝 `packages/ui/src/api/endpoints/settings.ts` (+1 -1) </details> ### 📄 Description ## Summary Fixes multiple issues preventing OwnPilot from working after a fresh install, both in Docker and from-source development modes. - **Docker health check fails** — Alpine resolves `localhost` to IPv6 `::1` but server binds IPv4 `0.0.0.0`. Changed to `127.0.0.1`. - **`ServiceRegistry not initialized`** — Docker CMD used CLI `start` command which skips full service registration (23 services). Changed entrypoint to `packages/gateway/dist/server.js`. Also added ServiceRegistry init to CLI `start` as fallback. - **Demo mode with non-standard providers** — `isDemoMode()` only checked a hardcoded list of 11 providers (openai, anthropic, etc.). Providers like MiniMax were ignored. Changed to `configured.size > 0`. - **`EACCES: permission denied, mkdir '/data'`** — `IsolatedStorage` defaulted to `/data/workspaces` (a Docker-only path). Changed to platform-specific XDG/AppData directories. - **`ADMIN_KEY` required in dev mode** — Database write operations blocked by admin key guard even for local dev UI. Skip guard when `NODE_ENV=development`. - **Wrong providers API endpoint** — UI called `/settings/providers` but gateway route is `/providers`. Closes #4 ## Test plan - [ ] `docker compose --profile postgres up -d --build` — both containers healthy - [ ] Open `http://localhost:8080` — dashboard loads without errors - [ ] Configure a non-standard provider (e.g. MiniMax) — demo mode disables - [ ] From source: `pnpm dev` — no ServiceRegistry or EACCES errors - [ ] Database page works without ADMIN_KEY in development mode - [ ] Providers page loads correctly 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 20:20:08 +03:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/OwnPilot#8
No description provided.