Skip to content

Self-hosting on Ubuntu 24.04 without Docker is broken — SIGTERM kills dev server, build fails, no DB seed #6158

Description

@Arellanog0

Environment

  • Ubuntu 24.04, 16GB RAM, no Docker
  • Bun 1.3.14, PostgreSQL 18.4, pgvector 0.8.1
  • Repo cloned from main, bun install succeeded

Issues

1. Dev server killed by SIGTERM (exit code 143)

bun run dev starts and responds 200, but dies within ~2 minutes with exit code 143 (SIGTERM). instrumentation-node.ts registers SIGTERM handlers that shut down OTel/PostHog. Something external sends SIGTERM and kills the process. No way to disable this cleanly. Even running from a plain terminal, the process dies after the first page load compiles.

2. bun run build fails — EXDEV cross-device link

@sim/desktop build fails with EXDEV: cross-device link not permitted, rename '/tmp/...' -> '/home/...'. /tmp and /home are on different filesystems on Ubuntu. The monorepo build cannot complete.

3. Standalone next build runs out of memory

Building only apps/sim with NODE_OPTIONS=--max-old-space-size=8192 consumes all available RAM and dies silently (OOM). The tool registry alone has 4,351 entries across 261 service dirs pulling ~5,907 modules.

4. No database seed for DISABLE_AUTH mode

With `DISABLE_AUTH=*** the anonymous user exists in code but the database starts empty. No seed script creates the user, organization, workspace, settings, or permissions. The app shows "Could not load your workspaces" with no guidance.

5. First page load takes 41 seconds

Turbopack on-demand compilation of /workspace takes 41s on first request. The app is unusable in dev mode without 32GB+ RAM.

6. No documentation for non-Docker setup

README says "Requirements: Bun and Docker". The bun run setup wizard offers "Local dev" but doesn't document how to install PostgreSQL + pgvector manually or which env vars are required.

Suggested fixes

  • Add DISABLE_AUTH database seed script
  • Make instrumentation-node.ts SIGTERM handlers opt-in or skippable via env var
  • Fix @sim/desktop cross-device rename (use fs.cp + fs.rm instead of rename)
  • Document non-Docker self-hosting path
  • Consider dev:minimal as default for low-RAM environments

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions