Skip to content

Latest commit

 

History

History
895 lines (567 loc) · 16.4 KB

File metadata and controls

895 lines (567 loc) · 16.4 KB

Installation

Install:

Build:

Run:

Tarball:

Install

Install MyTraL desktop application.

Install on Ubuntu from PPA

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

Install on Windows using winget

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

Install on Windows using Installer

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.

Install on Windows using ZIP

Download the latest ZIP archive with the executable:

Extract *.exe:

unzip mytral-<version>.exe-Win*.zip

Start MyTraL:

mytral-<version>.exe

# example: mytral-1.51.0.exe

Install on macOS using DMG

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.app

or 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.

Install on Linux using Snap from Snap Store

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 mytral

Start MyTraL from the application menu or run:

mytral

MyTraL 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 mytral

Uninstall:

sudo snap remove mytral

Install on Linux using Snap

MyTraL 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.snap

Start MyTraL from the application menu or run:

mytral

or

snap run mytral

With 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 mytral

Install on Linux using Flatpak

Flatpak 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 flatpak

Fedora:

sudo dnf install flatpak

Arch Linux:

sudo pacman -S flatpak

openSUSE:

sudo zypper install flatpak

Add the Flathub remote (one-time):

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Install the local bundle from GitHub Releases:

flatpak install --user ./mytral-<version>.flatpak

# example: flatpak install --user ./mytral-1.56.0.flatpak

The bundle is self-contained:

  • If the required org.freedesktop.Platform runtime 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-add command above.

Start MyTraL from the application menu or run:

flatpak run fitness.mytral.Mytral

MyTraL 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.Mytral

Uninstall:

flatpak uninstall fitness.mytral.Mytral

Your data in ~/.local/share/mytral/ is not removed by uninstalling - delete that directory manually if you want to remove it.

Build

Build MyTraL desktop application from the source code.

Build Binary on Ubuntu

Install uv:

curl -LsSf https://astral.sh/uv/install.sh | sh

Install Python:

uv python install 3.12

Clone Git repository:

git clone https://github.com/dvorka-oss/mytral.git
cd mytral

Install dependencies and build desktop application executable:

make setup distro-desktop-build

Run MyTraL desktop application:

cd distro/desktop && ./mytral-<version>

# example:
# cd distro/desktop && ./mytral-1.51.0

Start using MyTraL:

  • Click Add new user button to add new athlete account.
  • Sign in.

Optionally install MyTraL for the current user:

make distro-desktop-install

Build .deb on Ubuntu

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.

Build Snap on Linux

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 $USER

After 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-build

The package is created at:

distro/snap/mytral_<version>_amd64.snap

Show the path to the built package:

make distro-snap-path

Build and install it locally for testing (requires sudo; Snap uses classic confinement, so the --classic flag is applied automatically):

make distro-snap-install

Run MyTraL:

mytral

Clean Snap artifacts:

make distro-snap-clean

Remove the locally installed Snap:

make distro-snap-remove

Publish to the Snap Store (maintainers only):

make distro-snap-upload

Build Flatpak on Linux

Install prerequisites:

sudo apt install flatpak flatpak-builder

Add 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.08

Build the Flatpak bundle:

make distro-flatpak-build

The single-file bundle is created at:

distro/flatpak/mytral-<version>.flatpak

Build and install it locally for testing (user scope):

make distro-flatpak-install

Run MyTraL:

flatpak run fitness.mytral.Mytral

Clean Flatpak artifacts:

make distro-flatpak-clean

Remove the locally installed Flatpak:

make distro-flatpak-remove

Build Windows Installer

The 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-win

Verify 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-installer

The 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-clean

Build macOS DMG

The 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 | sh

Install Python:

uv python install 3.12

Clone Git repository:

git clone https://github.com/dvorka-oss/mytral.git
cd mytral

Build the app bundle and the .dmg:

make setup distro-macos-dmg-build

The 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-install

Clean macOS .dmg artifacts:

make distro-macos-dmg-clean

Build Binary on Windows

Install 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.12

Clone Git repository:

git clone https://github.com/dvorka-oss/mytral.git
cd mytral

Install dependencies and build desktop application executable:

make setup distro-desktop-build-win

Run MyTraL desktop application:

cd distro\desktop

# example: mytral-1.51.0.exe
mytral-<version>.exe

Data will be stored to:

C:\Users\[user]\Application Data\mytral\data

Start using MyTraL:

  • Click Add new user button to add new athlete account.
  • Sign in.

Run

Run MyTraL web application.

Run using Python on Ubuntu

Install uv:

curl -LsSf https://astral.sh/uv/install.sh | sh

Install Python:

uv python install 3.12

Clone Git repository:

git clone https://github.com/dvorka-oss/mytral.git
cd mytral

Install dependencies:

make setup

Run MyTraL as web application:

make run

Open http://localhost:5000 in your browser:

  • Click Add new user button to add new athlete account.
  • Sign in.

Run using Docker on Debian

Install uv:

curl -LsSf https://astral.sh/uv/install.sh | sh

Build the Debian image (requires Docker and uv in PATH):

make distro-docker-debian-build

Run the container:

make distro-docker-debian-run

Open http://localhost:8888 in your browser:

  • Click Add new user button to add new athlete account.
  • Sign in.

Stop the container:

docker stop mytral-debian

Run using Docker on Fedora

Install uv:

curl -LsSf https://astral.sh/uv/install.sh | sh

Build the Fedora image (requires Docker and uv in PATH):

make distro-docker-fedora-build

Run the container:

make distro-docker-fedora-run

Open http://localhost:8888 in your browser:

  • Click Add new user button to add new athlete account.
  • Sign in.

Stop the container:

docker stop mytral-fedora

Tarball

Download and Install Tarball

Download 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 | sh

Install Python:

uv python install 3.12

Install dependencies:

make setup

Run MyTraL as web application:

make run

Open http://localhost:5000 in your browser:

  • Click Add new user button to add new athlete account.
  • Sign in.