-
Notifications
You must be signed in to change notification settings - Fork 1
Description
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
Type
Projects
Status