- install.sh: one-time Linux Mint setup (apt, .venv, requirements, .desktop entry with absolute paths). Re-runnable. - run.sh: launches the app from .venv (called by the menu entry). - icon.png: bundled 256px red-cross launcher/window icon; app prefers it over the runtime-drawn fallback (data/icon.png). - requirements.txt: fully pinned incl. transitive deps, tested on Python 3.12; numpy held at 2.2.6 so it installs on Python 3.10 too. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2.8 KiB
Setup & running
Target machine: Linux Mint laptop, single non-technical user. Day-to-day use is a double-click from the menu; the terminal is needed once, for install.
Quick install (Linux Mint)
mkdir -p ~/Apps && cd ~/Apps
git clone https://git.plutodev.de/Paddy/drk-blutspende-orte DRK_Blutspende_Orte
cd DRK_Blutspende_Orte
./install.sh
install.sh does everything:
sudo apt install python3-tk python3-venv python3-pip git(asks for the password),- creates
.venvand installs the pinnedrequirements.txt, - writes
~/.local/share/applications/drk-blutspende-orte.desktopwith the correct absolute paths and the bundledicon.png.
After it finishes, "DRK Blutspende – Arbeitsorte" is in the application menu
(log out/in once if it doesn't show immediately). First manual test: ./run.sh.
Clone it — don't download a zip. The in-app updater and
run.shboth rely on it being a real git checkout.
What the pieces are
| File | Purpose |
|---|---|
install.sh |
one-time setup (above). Safe to re-run. |
run.sh |
launches the app from .venv; the .desktop entry calls this. |
icon.png |
bundled launcher/window icon (red cross). Replace with the real DRK logo if wanted. |
requirements.txt |
fully pinned, tested on Python 3.12. |
Running manually
cd ~/Apps/DRK_Blutspende_Orte
./run.sh # or: .venv/bin/python app.py
data/orte.csv is created automatically on first run if missing.
Python / Tk version
Python 3.10–3.12 (Mint's python3). ttkbootstrap needs Tk 8.6+, which
Mint's python3-tk provides. The macOS CommandLineTools Python 3.9 ships Tk 8.5
and can't run the GUI — for dev on macOS use a Homebrew Python, see
dev-notes.md.
Updating
From inside the app: menu Hilfe ▸ Nach Update suchen. It also checks
quietly on start and offers the update if there is one. It fast-forwards to the
server version, reinstalls dependencies if requirements.txt changed, and
restarts itself. data/ is never touched. The updater only fast-forwards — if
the local copy was hand-edited it refuses and says to get in touch.
Manually (equivalent):
cd ~/Apps/DRK_Blutspende_Orte
git pull --ff-only
.venv/bin/pip install -r requirements.txt
Publishing an update, from the dev machine: git push to
https://git.plutodev.de/Paddy/drk-blutspende-orte (branch main).
Data location & backup
All state is in data/ next to app.py:
orte.csv— the data (git-ignored).backups/— automatic timestamped copies, newest 20 kept.app.log,window.json,icon.png(runtime fallback) — git-ignored.
To back up: copy data/orte.csv (and data/backups/ for history). To move to a
new laptop: clone the repo, run ./install.sh, copy data/orte.csv across.