Install:
- Linux (Snap Store)
- Linux (Snap download)
- Linux (Flatpak)
- Ubuntu (PPA)
- Windows (installer)
- Windows (zip)
- Windows (winget)
- macOS (dmg)
Build:
- Snap (package)
- Flatpak (bundle)
- Ubuntu (binary)
- Ubuntu (deb)
- Windows (binary)
- Windows (installer)
- macOS (dmg)
Run:
Tarball:
Install MyTraL desktop application.
Install MyTraL from PPA using one-liner:
sudo add-apt-repository ppa:ultradvorka/sport && sudo apt-get update && sudo apt-get install mytral... or step by step:
sudo add-apt-repository ppa:ultradvorka/sport
sudo apt-get update
sudo apt-get install mytral
winget is the Windows Package Manager, built into Windows 10 and 11. It downloads, installs and updates MyTraL from the official Microsoft Community repository - no manual download required.
Install MyTraL:
winget install --id Mytral.Mytral
Accept the source and package agreements if prompted. winget downloads the signed
installer from GitHub Releases, verifies
its SHA256 checksum and installs MyTraL to C:\Program Files\MyTraL\.
Data is stored in:
C:\Users\<user>\AppData\Local\mytral\
Upgrade to the latest release:
winget upgrade --id Mytral.Mytral
Uninstall:
winget uninstall --id Mytral.Mytral
Download the latest installer from:
Run the installer:
mytral-<version>-setup.exe
# example: mytral-1.54.0-setup.exe
The installer places MyTraL in C:\Program Files\MyTraL\ and optionally creates a
Desktop shortcut. It includes an uninstaller registered in Windows Apps & features.
Data is stored in:
C:\Users\<user>\AppData\Local\mytral\
Uninstall: open Windows Apps & features, find MyTraL, and click Uninstall.
Download the latest ZIP archive with the executable:
Extract *.exe:
unzip mytral-<version>.exe-Win*.zipStart MyTraL:
mytral-<version>.exe
# example: mytral-1.51.0.exe
Download the latest .dmg from:
Open the disk image and drag MyTraL.app to Applications:
mytral-<version>.dmg
# example: mytral-1.58.0.dmg
This build is Apple Silicon (arm64) only and is not code-signed or notarized. On first launch, macOS Gatekeeper will refuse to open it with a "cannot be opened because the developer cannot be verified" (or "is damaged") warning. Work around this once, either:
xattr -cr /Applications/MyTraL.appor right-click (Control-click) MyTraL.app in Finder, choose Open, then
confirm in the dialog that appears.
Data is stored in:
~/Library/Application Support/mytral/ (data and config)
~/Library/Caches/mytral/ (cache)
Uninstall: drag MyTraL.app from Applications to the Trash.
The easiest way to install MyTraL on Linux is from the Snap Store. Snap works across all major Linux distributions and keeps MyTraL up to date automatically. This package uses strict confinement and is published straight to the Snap Store.
Install Snapd (if not already installed) by following the official guide for
your distribution:
Install MyTraL from the Snap Store:
sudo snap install mytralStart MyTraL from the application menu or run:
mytralMyTraL starts the local server and opens its UI in your default browser.
Data storage
Under strict confinement MyTraL stores its data inside the snap's per-user common directory:
~/snap/mytral/common/data/
Note: sudo snap remove mytral deletes this directory. Snapd keeps an automatic
snapshot for ~31 days, but a later reinstall does not restore it automatically
(use snap restore to recover). To keep a portable copy, use MyTraL's export
feature.
Upgrade:
sudo snap refresh mytralUninstall:
sudo snap remove mytralMyTraL is also distributed as a downloadable classic confinement snap
attached to each GitHub Release.
Classic confinement lets MyTraL open a native frameless desktop window via a
browser and store data in the standard location, but it is not available from
the Snap Store - you install the downloaded .snap file directly.
Install Snapd if you have not already
(see Install on Linux using Snap from Snap Store).
Download mytral_<version>_amd64.snap from the latest GitHub release,
then install it with the --dangerous (unsigned, sideloaded) and --classic flags:
# example: mytral_1.57.0_amd64.snap
sudo snap install --dangerous --classic ./mytral_1.57.0_amd64.snapStart MyTraL from the application menu or run:
mytralor
snap run mytralWith a browser MyTraL opens as a frameless desktop window. Otherwise it opens in your default browser as a normal window; if no browser can be opened at all, it prints the URL so you can open it manually.
Data storage
Because this build uses classic confinement it stores data in the same location as every other installation - your data is never locked inside the snap:
~/.local/share/mytral/ (data)
~/.config/mytral/ (config)
Uninstall:
sudo snap remove mytralFlatpak works across all major Linux distributions. MyTraL runs as a sandboxed local web app and opens its UI in your default browser (via the desktop portal) - no extra permissions and no host access required.
Install flatpak (if not already installed):
Ubuntu/Debian:
sudo apt update
sudo apt install flatpakFedora:
sudo dnf install flatpakArch Linux:
sudo pacman -S flatpakopenSUSE:
sudo zypper install flatpakAdd the Flathub remote (one-time):
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepoInstall the local bundle from GitHub Releases:
flatpak install --user ./mytral-<version>.flatpak
# example: flatpak install --user ./mytral-1.56.0.flatpakThe bundle is self-contained:
- If the required
org.freedesktop.Platformruntime is missing, Flatpak offers to fetch it from Flathub automatically - you do not need to configure Flathub first. - If you prefer, you can still add the Flathub remote with the
remote-addcommand above.
Start MyTraL from the application menu or run:
flatpak run fitness.mytral.MytralMyTraL starts a local server and opens its UI in your default browser.
Data storage
Like the in other MyTraL editions, MyTraL stores your data in the standard shared location - it is never locked inside the Flatpak sandbox, so it is shared with every other MyTraL installation (binary/PPA/Snap/*) and survives uninstalling the Flatpak:
~/.local/share/mytral/ (data)
~/.config/mytral/ (config)
Upgrade:
flatpak update fitness.mytral.MytralUninstall:
flatpak uninstall fitness.mytral.MytralYour data in ~/.local/share/mytral/ is not removed by uninstalling - delete
that directory manually if you want to remove it.
Build MyTraL desktop application from the source code.
Install uv:
curl -LsSf https://astral.sh/uv/install.sh | shInstall Python:
uv python install 3.12Clone Git repository:
git clone https://github.com/dvorka-oss/mytral.git
cd mytralInstall dependencies and build desktop application executable:
make setup distro-desktop-buildRun MyTraL desktop application:
cd distro/desktop && ./mytral-<version>
# example:
# cd distro/desktop && ./mytral-1.51.0Start using MyTraL:
- Click
Add new userbutton to add new athlete account. Sign in.
Optionally install MyTraL for the current user:
make distro-desktop-install
Install prerequisites:
sudo apt install dh-python python3-all pybuild-plugin-pyproject python3-hatchling
Build .deb:
make distro-ubuntu-deb
Find .deb package in the directory printed by the make target.
Install prerequisites (Snapcraft, plus LXD for isolated container builds):
sudo snap install snapcraft --classic
sudo snap install lxd
sudo lxd init --auto
sudo usermod -aG lxd $USERAfter adding yourself to the lxd group, log out and back in (or run newgrp lxd)
so the new group membership takes effect.
Build the Snap package:
make distro-snap-buildThe package is created at:
distro/snap/mytral_<version>_amd64.snap
Show the path to the built package:
make distro-snap-pathBuild and install it locally for testing (requires sudo; Snap uses classic
confinement, so the --classic flag is applied automatically):
make distro-snap-installRun MyTraL:
mytralClean Snap artifacts:
make distro-snap-cleanRemove the locally installed Snap:
make distro-snap-removePublish to the Snap Store (maintainers only):
make distro-snap-uploadInstall prerequisites:
sudo apt install flatpak flatpak-builderAdd the Flathub remote and install the runtime and SDK (the build targets
Python 3.12 via the 24.08 runtime):
flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --user flathub org.freedesktop.Platform//24.08 org.freedesktop.Sdk//24.08Build the Flatpak bundle:
make distro-flatpak-buildThe single-file bundle is created at:
distro/flatpak/mytral-<version>.flatpak
Build and install it locally for testing (user scope):
make distro-flatpak-installRun MyTraL:
flatpak run fitness.mytral.MytralClean Flatpak artifacts:
make distro-flatpak-cleanRemove the locally installed Flatpak:
make distro-flatpak-removeThe Windows installer is built with Inno Setup 6.
Step 1: Build the desktop executable
Build the desktop binary first (see Build Binary on Windows):
make setup distro-desktop-build-winVerify the binary was created:
distro\desktop\mytral-<version>.exe
Step 2: Install Inno Setup 6
Install via winget (no administrator rights required - installs to your user profile):
winget install --id JRSoftware.InnoSetup
Or download the installer from the official website and run it:
env.bat automatically detects both install locations:
| Location | How installed |
|---|---|
C:\Program Files (x86)\Inno Setup 6\ |
System-wide (requires admin) |
%LOCALAPPDATA%\Programs\Inno Setup 6\ |
Per-user via winget or without admin |
No manual configuration is needed for either location.
Step 3: Build the installer
make distro-windows-installerThe installer is created at:
distro\windows\mytral-<version>-setup.exe
Custom Inno Setup path (optional)
If ISCC.exe is installed elsewhere, edit build\windows\env.bat and set:
set MYTRAL_ISCC=C:\your\custom\path\ISCC.exe
Clean installer artifacts:
make distro-windows-cleanThe macOS .dmg is built with hdiutil and iconutil/sips (all bundled
with macOS - no extra tools to install). Must run on macOS; produces an
Apple Silicon (arm64) only, unsigned app bundle and disk image.
Install uv:
curl -LsSf https://astral.sh/uv/install.sh | shInstall Python:
uv python install 3.12Clone Git repository:
git clone https://github.com/dvorka-oss/mytral.git
cd mytralBuild the app bundle and the .dmg:
make setup distro-macos-dmg-buildThe disk image is created at:
distro/macos-dmg/mytral-<version>.dmg
Build and install MyTraL.app locally to /Applications for testing:
make distro-macos-dmg-installClean macOS .dmg artifacts:
make distro-macos-dmg-cleanInstall uv to C:\Users\[user]\.local\bin:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Install Python:
uv python install 3.12Clone Git repository:
git clone https://github.com/dvorka-oss/mytral.git
cd mytralInstall dependencies and build desktop application executable:
make setup distro-desktop-build-winRun MyTraL desktop application:
cd distro\desktop
# example: mytral-1.51.0.exe
mytral-<version>.exeData will be stored to:
C:\Users\[user]\Application Data\mytral\data
Start using MyTraL:
- Click
Add new userbutton to add new athlete account. Sign in.
Run MyTraL web application.
Install uv:
curl -LsSf https://astral.sh/uv/install.sh | shInstall Python:
uv python install 3.12Clone Git repository:
git clone https://github.com/dvorka-oss/mytral.git
cd mytralInstall dependencies:
make setupRun MyTraL as web application:
make runOpen http://localhost:5000 in your browser:
- Click
Add new userbutton to add new athlete account. Sign in.
Install uv:
curl -LsSf https://astral.sh/uv/install.sh | shBuild the Debian image (requires Docker and uv in PATH):
make distro-docker-debian-buildRun the container:
make distro-docker-debian-run- Serves on http://localhost:8888 .
- Data is stored at
~/.local/share/mytral-docker-debian/.
Open http://localhost:8888 in your browser:
- Click
Add new userbutton to add new athlete account. Sign in.
Stop the container:
docker stop mytral-debianInstall uv:
curl -LsSf https://astral.sh/uv/install.sh | shBuild the Fedora image (requires Docker and uv in PATH):
make distro-docker-fedora-buildRun the container:
make distro-docker-fedora-run- Serves on http://localhost:8888 .
- Data is stored at
~/.local/share/mytral-docker-fedora/.
Open http://localhost:8888 in your browser:
- Click
Add new userbutton to add new athlete account. Sign in.
Stop the container:
docker stop mytral-fedoraDownload the latest tarball from the GitHub Releases page.
Extract and start MyTraL:
tar xzf mytral-<version>.tar.gz
cd mytral-<version>Install uv:
curl -LsSf https://astral.sh/uv/install.sh | shInstall Python:
uv python install 3.12Install dependencies:
make setupRun MyTraL as web application:
make runOpen http://localhost:5000 in your browser:
- Click
Add new userbutton to add new athlete account. Sign in.