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

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions