======Taskwarrior Notes======
My stack so far is:
*[[https://taskwarrior.org|Taskwarrior]] 3.4.2
*[[https://github.com/GothenburgBitFactory/taskchampion-sync-server/tree/main|Taskchampion]] server (latest)
*lbesnard's [[https://github.com/lbesnard/task-tui|task-tui]]
*[[https://play.google.com/store/apps/details?id=tech.strid.taskstrider&hl=en_US&pli=1|Taskstrider]] for Android
All operations below were performed under Debian 13.5. Debian 12 appeared to lack the necessary tools or libraries (must test further).
====Server====
We need to install the Task Champion server using Docker, which is opaque and full of danger:
apt-get install rust-all rustup git
apt install -y ca-certificates curl gnupg lsb-release
apt install -m 0755 -d /etc/apt/keyrings
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl enable --now docker
newgrp docker
usermod -aG docker
git clone https://github.com/GothenburgBitFactory/taskchampion-sync-server.git
cd taskchampion-sync-server/
docker build -t taskchampion-sync-server -f Dockerfile-sqlite
chown [userid] -R taskchampion-sync-server
You can make a startup file like:
docker run -t -d --name=taskchampion -e LISTEN=0.0.0.0:9999 -p 9999:9999 taskchampion-sync-server
**BE CAREFUL!** If your destroy the Docker image, your database is gone, too! In theory, any up-to-date client could re-populate it by doing a ''sync init'', but this is untested.
====Client====
We must compile the TW client directly since the pre-build Debian package does not include the sync feature:
git clone https://github.com/GothenburgBitFactory/taskwarrior.git
cd taskwarrior
git submodule update --init --recursive
apt-get install rust-all cargo cmake gcc build-essential cmake uuid-dev git gnupg
apt-get install rustup
rustup default stable [may be unnecessary]
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build
In WSL under Windows 11, I had to do this instead. Something to do with rust and corrosion version conflicts:
cmake -S . -B build \
-DCMAKE_BUILD_TYPE=Release \
-DRust_CARGO_TARGET=x86_64-unknown-linux-gnu \
-DCorrosion_RUSTC_EXECUTABLE="$HOME/.cargo/bin/rustc"
Client setup:
task config sync.server.url http://site:port
task config sync.server.client_id
====Mobile====
The Android client [[https://play.google.com/store/apps/details?id=tech.strid.taskstrider&hl=en_US&pli=1|Taskstrider]] works with this setup.
====Notes====
[[https://taskwarrior.org/download/task-2.5.3.ref.pdf|Command Reference (for 2.5.3, can't find one for 3.4.x yet)]]
Unfortunately, the official taskwarrior-tui does not work with version 3.4 yet, but [[https://github.com/lbesnard/task-tui|this]] works.