Deployment Options for OpenLogi: A Complete Guide to Cross-Platform Installation
OpenLogi supports macOS, Linux, and Windows through native package managers, signed installers, and portable archives, all built from a single Rust codebase.
OpenLogi is a Rust-based logistics management application that maintains deployment parity across all major desktop platforms. Whether you need a drag-and-drop macOS bundle, a systemd-managed Linux service, or a per-user Windows installer, the project provides officially supported packaging formats that share identical core binaries and TOML configuration files. This guide covers every deployment method available in the AprilNEA/OpenLogi repository.
macOS Deployment Options
OpenLogi distributes macOS builds as signed, notarized application bundles ready for immediate use.
Signed DMG Distribution
The primary macOS deployment uses a signed .dmg disk image containing OpenLogi.app. Users drag the application to /Applications to install. According to the installation instructions in [README.md](https://github.com/AprilNEA/OpenLogi/blob/master/README.md#macos) (lines 87‑105), this bundle includes the notarised GUI application and maintains the standard macOS install path.
Homebrew Installation
Two Homebrew distribution methods are available:
Official Homebrew Cask
brew install --cask openlogi
Alternate Tap for Latest Releases
brew tap aprilnea/tap
brew install --cask aprilnea/tap/openlogi@latest
Both methods point to the same release assets as the DMG, ensuring /Applications remains the installation directory.
Linux Deployment Options
Linux users can choose between pre-built distribution packages, NixOS integration, or manual source compilation.
Native Package Managers
Pre-built packages support x86_64 and aarch64 architectures across major distributions:
Debian/Ubuntu (.deb)
wget https://github.com/AprilNEA/OpenLogi/releases/latest/download/openlogi_*.deb
sudo dpkg -i openlogi_*.deb
systemctl --user enable --now openlogi-agent.service
Arch Linux (.pkg.tar.zst)
wget https://github.com/AprilNEA/OpenLogi/releases/latest/download/openlogi-*.pkg.tar.zst
sudo pacman -U openlogi-*.pkg.tar.zst
systemctl --user enable --now openlogi-agent.service
The packages install the GUI, background agent, udev rules, and a systemd-user service (openlogi-agent.service) simultaneously.
NixOS Module
For NixOS users, the project exposes a module through flake.nix (lines 38‑44, 99‑111). The module definition in packaging/linux/nixos-module.nix (lines 13‑40) enables the agent as a user service:
{
inputs.openlogi.url = "github:AprilNEA/OpenLogi";
outputs = { self, nixpkgs, openlogi, ... }: {
nixosConfigurations.my-host = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
openlogi.nixosModules.default
{ programs.openlogi.enable = true; }
];
};
};
}
This configuration handles the entire installation, including udev rules and systemd user services.
Source Build
Manual compilation requires Rust toolchain availability. Build using the project's custom tasks:
# CI-style build with all optimizations
cargo xtask ci
# Standard development build
cargo build --release
The build process is documented in [docs/INSTALL-linux.md](https://github.com/AprilNEA/OpenLogi/blob/master/docs/INSTALL-linux.md).
Windows Deployment Options
Windows deployments utilize WiX-authored installers and portable archives.
Signed MSI Installer
The per-user .msi installer requires no administrator privileges. According to packaging/windows/OpenLogi.wxs (lines 7‑25, 30‑46, 67‑95), the installer creates a per-user upgrade code and installs to %LocalAppData%\Programs\OpenLogi:
Invoke-WebRequest -Uri "https://github.com/AprilNEA/OpenLogi/releases/latest/download/OpenLogi.msi" -OutFile "OpenLogi.msi"
msiexec /i OpenLogi.msi
The MSI installs four components:
OpenLogi.exe(GUI application)openlogi-agent.exe(background service)openlogi-overlay.exe(overlay utility)openlogi.exe(CLI tool)
Portable ZIP Archive
For environments requiring no installation, a portable .zip is available. Extract the archive while keeping all executables together:
Expand-Archive -Path OpenLogi.zip -DestinationPath "$env:LOCALAPPDATA\Programs\OpenLogi"
& "$env:LOCALAPPDATA\Programs\OpenLogi\OpenLogi.exe"
The portable distribution allows running the application from any directory, though the relative paths between executables must remain intact.
Configuration Portability
All platforms share identical TOML configuration files and core binaries built from the same Rust workspace. This means migrating an OpenLogi installation between macOS, Linux, and Windows requires only copying the configuration file—no format conversion or path adjustments are necessary. The background agent (openlogi-agent on Linux/macOS, openlogi-agent.exe on Windows) reads the same configuration schema regardless of platform.
Summary
- macOS users can choose between signed DMG bundles or Homebrew Cask installations, both targeting
/Applications/OpenLogi.app. - Linux supports
.deb,.rpm, and.pkg.tar.zstpackages with systemd-user service integration, plus a native NixOS module defined inflake.nix. - Windows offers a signed per-user MSI installer and a portable ZIP archive, both installing to
%LocalAppData%\Programs\OpenLogi. - All deployment methods use the same Rust-built binaries and TOML configuration format, ensuring cross-platform consistency.
- Source builds are available via
cargo xtask ciorcargo buildfor all platforms.
Frequently Asked Questions
Does OpenLogi require administrator privileges to install on Windows?
No. The Windows MSI installer uses a per-user upgrade code as configured in packaging/windows/OpenLogi.wxs, installing to the user's local app data directory without requiring elevated permissions. This applies to both the GUI application and the background agent service.
Can I use the same configuration file on different operating systems?
Yes. OpenLogi uses platform-agnostic TOML configuration files that work identically across macOS, Linux, and Windows. The core binaries built from the Rust workspace share the same configuration parser, so you can copy your config between machines without modification.
How do I enable the background agent on Linux after installing the package?
The .deb, .rpm, and Arch packages install a systemd-user service called openlogi-agent.service. Enable it with systemctl --user enable --now openlogi-agent.service. For NixOS users, setting programs.openlogi.enable = true in the NixOS module automatically configures the systemd user service and necessary udev rules.
Is Homebrew the only package manager supported on macOS?
While Homebrew is the primary package manager integration, OpenLogi also distributes a signed DMG bundle for direct installation. The DMG contains a drag-and-drop OpenLogi.app bundle that functions independently of any package manager, suitable for enterprise deployments or users who prefer manual installation.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →