Skip to content

Add Official Linux Support for Dory Desktop #86

@dory-finn

Description

@dory-finn

Summary

Dory currently supports macOS (and potentially Windows), but lacks official Linux support. This limits adoption among developers, data engineers, and open-source users who primarily use Linux as their daily environment.

This issue proposes adding first-class Linux support for Dory Desktop, including packaging, distribution, and runtime compatibility.


Motivation

Linux is a major platform for Dory's target users:

  • Developers and data engineers heavily use Linux
  • Many database environments (ClickHouse, Postgres, etc.) run on Linux
  • Open-source community strongly prefers Linux-compatible tools

Lack of Linux support creates:

  • Adoption friction
  • Reduced credibility in developer ecosystem
  • Missed opportunities in open-source growth

Goals

  • Provide a fully functional Dory Desktop app on Linux
  • Support major distributions (Ubuntu, Debian, Arch, etc.)
  • Ensure parity with macOS version (features + UX)
  • Enable easy installation and updates

Non-Goals

  • Supporting outdated or niche distributions
  • Perfect UI consistency across all window managers (best-effort is fine)
  • Full offline packaging for all edge cases (can iterate later)

Proposed Approach

1. Electron Build Target for Linux

Extend current Electron build pipeline to include:

  • AppImage (recommended default)
  • deb (Debian / Ubuntu)
  • rpm (Fedora / RHEL)

Example (electron-builder config):

{
  "linux": {
    "target": ["AppImage", "deb", "rpm"],
    "category": "Development"
  }
}

2. Distribution Strategy

Option A (Recommended)

  • Provide downloads via GitHub Releases:
    • .AppImage (primary)
    • .deb
    • .rpm

Option B (Future)

  • Publish to:
    • Snap Store
    • Flathub

3. Auto Update Strategy

Linux update strategy differs from macOS:

  • AppImage: in-app update or manual download
  • deb/rpm: rely on system package manager

Options:

  • Disable auto-update for Linux initially
  • Or implement AppImage update mechanism later

4. Runtime Compatibility

Key areas to verify:

  • File system access (PGlite storage path)
  • Native modules compatibility
  • GPU / hardware acceleration fallback
  • Wayland vs X11 behavior
  • Clipboard and drag-and-drop

5. Packaging & CI

Extend CI pipeline:

  • Build Linux artifacts in GitHub Actions
  • Attach artifacts to releases
  • Ensure reproducible builds

Expected UX

  • Users can download and run Dory on Linux with minimal setup
  • App behaves consistently with macOS version
  • Installation is simple (double-click AppImage or install deb)

Acceptance Criteria

  • Dory can run on Linux (Ubuntu as baseline)
  • AppImage build is available and functional
  • deb package is installable and stable
  • rpm package builds successfully (optional first iteration)
  • Core features work (DB connections, AI, explorer, SQL editor)
  • No critical crashes or blocking issues
  • CI pipeline produces Linux artifacts

Risks & Considerations

  • Electron behavior differences across distros
  • Native dependency compatibility
  • Increased maintenance overhead
  • Auto-update inconsistency across packaging formats

Future Improvements

  • Snap / Flathub distribution
  • Auto-update support for AppImage
  • Better Wayland support
  • Native Linux theming improvements

Additional Context

Adding Linux support aligns with Dory’s positioning as a developer-first, open, and extensible data tool. It significantly increases reach in the data engineering and open-source ecosystem.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request
No fields configured for Feature.

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions